From 46a018b31ab038ef99595cc7a4b2f260558e454e Mon Sep 17 00:00:00 2001 From: Duncaen Date: Thu, 31 Mar 2022 02:45:46 +0200 Subject: [PATCH] chromium: update to 100.0.4896.60. --- ...romium-100-SCTHashdanceMetadata-move.patch | 35 +++++++++ .../disable-aarch64-memory-tagging.patch | 16 ----- ...x-aarch64-musl-memory-tagging-macros.patch | 29 ++++++++ .../fix-build-break-with-system-libdrm.patch | 62 ---------------- .../patches/fix-stack-utils-with-musl.patch | 12 ++-- ...ne_MM_Var-in-CFX_Font-AdjustMMParams.patch | 71 ------------------- .../patches/xxx-ppc64le-support.patch | 12 ++-- srcpkgs/chromium/template | 4 +- 8 files changed, 78 insertions(+), 163 deletions(-) create mode 100644 srcpkgs/chromium/patches/chromium-100-SCTHashdanceMetadata-move.patch delete mode 100644 srcpkgs/chromium/patches/disable-aarch64-memory-tagging.patch create mode 100644 srcpkgs/chromium/patches/fix-aarch64-musl-memory-tagging-macros.patch delete mode 100644 srcpkgs/chromium/patches/fix-build-break-with-system-libdrm.patch delete mode 100644 srcpkgs/chromium/patches/use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch diff --git a/srcpkgs/chromium/patches/chromium-100-SCTHashdanceMetadata-move.patch b/srcpkgs/chromium/patches/chromium-100-SCTHashdanceMetadata-move.patch new file mode 100644 index 000000000000..903942906c7d --- /dev/null +++ b/srcpkgs/chromium/patches/chromium-100-SCTHashdanceMetadata-move.patch @@ -0,0 +1,35 @@ +From 364dc0067d1c20c7a2d21277a7ec0c4419d9bc11 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 23 Feb 2022 12:18:57 +0100 +Subject: [PATCH] GCC: explicitely move return value of SCTHashdanceMetadata::ToValue + +GCC rejects to do Return Value Optimization in +SCTHashdanceMetadata::ToValue, because the copy constructor is +deleted, and in that scenario RVO is rejected in GCC: + ../../services/network/sct_auditing/sct_auditing_reporter.cc: In member function ‘base::Value network::SCTAuditingReporter::SCTHashdanceMetadata::ToValue() const’: + ../../services/network/sct_auditing/sct_auditing_reporter.cc:191:10: error: use of deleted function ‘base::Value::Value(const base::Value&)’ + 191 | return value; + | ^~~~~ + In file included from ../../services/network/sct_auditing/sct_auditing_reporter.h:14, + from ../../services/network/sct_auditing/sct_auditing_reporter.cc:5: + ../../base/values.h:254:3: note: declared here + 254 | Value(const Value&) = delete; + | ^~~~~ + +Bug: 819294 +Change-Id: I111e51dd10eee7b909d4ac3c0911aac18a589166 +--- + +diff --git a/services/network/sct_auditing/sct_auditing_reporter.cc b/services/network/sct_auditing/sct_auditing_reporter.cc +index a057e8e..365527b 100644 +--- a/services/network/sct_auditing/sct_auditing_reporter.cc ++++ b/services/network/sct_auditing/sct_auditing_reporter.cc +@@ -188,7 +188,7 @@ + kLogIdKey, base::Base64Encode(base::as_bytes(base::make_span(log_id)))); + value.SetKey(kLogMMDKey, base::TimeDeltaToValue(log_mmd)); + value.SetKey(kCertificateExpiry, base::TimeToValue(certificate_expiry)); +- return value; ++ return std::move(value); + } + + // static diff --git a/srcpkgs/chromium/patches/disable-aarch64-memory-tagging.patch b/srcpkgs/chromium/patches/disable-aarch64-memory-tagging.patch deleted file mode 100644 index 0596c6364a68..000000000000 --- a/srcpkgs/chromium/patches/disable-aarch64-memory-tagging.patch +++ /dev/null @@ -1,16 +0,0 @@ -This is broken in the current release and would require a lot of patches to be -backported. Remove this patch for the next release. - ---- a/base/memory/tagging.h -+++ b/base/memory/tagging.h -@@ -14,10 +14,6 @@ - #include "base/compiler_specific.h" - #include "build/build_config.h" - --#if defined(ARCH_CPU_ARM64) && defined(__clang__) && \ -- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)) --#define HAS_MEMORY_TAGGING 1 --#endif - - constexpr int kMemTagGranuleSize = 16u; - #if defined(HAS_MEMORY_TAGGING) diff --git a/srcpkgs/chromium/patches/fix-aarch64-musl-memory-tagging-macros.patch b/srcpkgs/chromium/patches/fix-aarch64-musl-memory-tagging-macros.patch new file mode 100644 index 000000000000..afcdae179850 --- /dev/null +++ b/srcpkgs/chromium/patches/fix-aarch64-musl-memory-tagging-macros.patch @@ -0,0 +1,29 @@ +--- a/base/allocator/partition_allocator/tagging.cc ++++ b/base/allocator/partition_allocator/tagging.cc +@@ -28,13 +28,25 @@ + #endif + #endif + +-#ifndef HAS_PR_MTE_MACROS ++#ifndef PR_MTE_TCF_SHIFT + #define PR_MTE_TCF_SHIFT 1 ++#endif ++#ifndef PR_MTE_TCF_NONE + #define PR_MTE_TCF_NONE (0UL << PR_MTE_TCF_SHIFT) ++#endif ++#ifndef PR_MTE_TCF_SYNC + #define PR_MTE_TCF_SYNC (1UL << PR_MTE_TCF_SHIFT) ++#endif ++#ifndef PR_MTE_TCF_ASYNC + #define PR_MTE_TCF_ASYNC (2UL << PR_MTE_TCF_SHIFT) ++#endif ++#ifndef PR_MTE_TCF_MASK + #define PR_MTE_TCF_MASK (3UL << PR_MTE_TCF_SHIFT) ++#endif ++#ifndef PR_MTE_TAG_SHIFT + #define PR_MTE_TAG_SHIFT 3 ++#endif ++#ifndef PR_MTE_TAG_MASK + #define PR_MTE_TAG_MASK (0xffffUL << PR_MTE_TAG_SHIFT) + #endif + #endif diff --git a/srcpkgs/chromium/patches/fix-build-break-with-system-libdrm.patch b/srcpkgs/chromium/patches/fix-build-break-with-system-libdrm.patch deleted file mode 100644 index fe8eee6d1e94..000000000000 --- a/srcpkgs/chromium/patches/fix-build-break-with-system-libdrm.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 5b287e0be8d8d8475ec6ef81b16eaa61e19db078 Mon Sep 17 00:00:00 2001 -From: "Steinar H. Gunderson" -Date: Tue, 25 Jan 2022 19:14:53 +0000 -Subject: [PATCH] Fix build break with system libdrm. - -This patch is submitted on behalf of Andres Salomon - (on Cc). Also adding him to src/AUTHORS -per policy, as he has signed the CLA. - -Original patch: -https://salsa.debian.org/dilinger/chromium/-/commit/2333c2fb985ac1ef3d7331776a7833d965c63302 - -Change-Id: I18bd60e2e80f2b9181e74ee7972c3f457ab33b10 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3401704 -Reviewed-by: Andres Calderon Jaramillo -Commit-Queue: Steinar H Gunderson -Auto-Submit: Steinar H Gunderson -Cr-Commit-Position: refs/heads/main@{#963119} ---- - AUTHORS | 1 + - media/gpu/chromeos/BUILD.gn | 1 + - media/gpu/chromeos/video_decoder_pipeline.cc | 2 +- - 3 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/AUTHORS b/AUTHORS -index 0eba3de5065..50edd3f6b38 100644 ---- a/AUTHORS -+++ b/AUTHORS -@@ -93,6 +93,7 @@ Andreas Papacharalampous - Andrei Borza - Andrei Parvu - Andrei Parvu -+Andres Salomon - Andreu Botella - Andrew Boyarshin - Andrew Brampton -diff --git a/media/gpu/chromeos/BUILD.gn b/media/gpu/chromeos/BUILD.gn -index 7cb4c3ea39a..6fe21c15ecc 100644 ---- a/media/gpu/chromeos/BUILD.gn -+++ b/media/gpu/chromeos/BUILD.gn -@@ -25,6 +25,7 @@ source_set("chromeos") { - - deps = [ - "//base", -+ "//build/config/linux/libdrm", - "//media", - "//media/gpu:buildflags", - "//media/gpu:command_buffer_helper", -diff --git a/media/gpu/chromeos/video_decoder_pipeline.cc b/media/gpu/chromeos/video_decoder_pipeline.cc -index d2f154ea0d8..416b9434a8d 100644 ---- a/media/gpu/chromeos/video_decoder_pipeline.cc -+++ b/media/gpu/chromeos/video_decoder_pipeline.cc -@@ -28,8 +28,8 @@ - #include "third_party/abseil-cpp/absl/types/optional.h" - - #if BUILDFLAG(USE_VAAPI) -+#include - #include "media/gpu/vaapi/vaapi_video_decoder.h" --#include "third_party/libdrm/src/include/drm/drm_fourcc.h" - #elif BUILDFLAG(USE_V4L2_CODEC) - #include "media/gpu/v4l2/v4l2_video_decoder.h" - #else diff --git a/srcpkgs/chromium/patches/fix-stack-utils-with-musl.patch b/srcpkgs/chromium/patches/fix-stack-utils-with-musl.patch index bb48d95312b3..7936aa6e0db4 100644 --- a/srcpkgs/chromium/patches/fix-stack-utils-with-musl.patch +++ b/srcpkgs/chromium/patches/fix-stack-utils-with-musl.patch @@ -4,17 +4,17 @@ // FIXME: On Mac OSX and Linux, this method cannot estimate stack size // correctly for the main thread. --#elif defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ - defined(OS_FUCHSIA) +-#elif defined(__GLIBC__) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FREEBSD) || \ ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FREEBSD) || \ + BUILDFLAG(IS_FUCHSIA) // pthread_getattr_np() can fail if the thread is not invoked by // pthread_create() (e.g., the main thread of blink_unittests). @@ -97,7 +97,7 @@ } void* GetStackStart() { --#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ -+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \ - defined(OS_FUCHSIA) +-#if defined(__GLIBC__) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FREEBSD) || \ ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FREEBSD) || \ + BUILDFLAG(IS_FUCHSIA) pthread_attr_t attr; int error; diff --git a/srcpkgs/chromium/patches/use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch b/srcpkgs/chromium/patches/use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch deleted file mode 100644 index 2cdbd02a8269..000000000000 --- a/srcpkgs/chromium/patches/use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch +++ /dev/null @@ -1,71 +0,0 @@ -From ffeb67faf715475f6e463d65c368f556780adf19 Mon Sep 17 00:00:00 2001 -From: Lei Zhang -Date: Mon, 31 Jan 2022 22:42:35 +0000 -Subject: [PATCH] Use FT_Done_MM_Var() in CFX_Font::AdjustMMParams() when - possible. - -When FreeType has FT_Done_MM_Var(), use that to free memory in -CFX_Font::AdjustMMParams() to avoid mismatched alloc/free functions. - -Bug: pdfium:1400 -Change-Id: I044540893103921fc64cdd53fcd628cfebf2c9db -Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/90130 -Reviewed-by: Nigi -Commit-Queue: Lei Zhang ---- - core/fxge/cfx_font.cpp | 28 ++++++++++++++++++++++++++-- - 1 file changed, 26 insertions(+), 2 deletions(-) - -diff --git a/core/fxge/cfx_font.cpp b/core/fxge/cfx_font.cpp -index c08fe9608..8b3a72700 100644 ---- a/third_party/pdfium/core/fxge/cfx_font.cpp -+++ b/third_party/pdfium/core/fxge/cfx_font.cpp -@@ -44,6 +44,30 @@ struct OUTLINE_PARAMS { - float m_CoordUnit; - }; - -+// TODO(crbug.com/pdfium/1400): When FT_Done_MM_Var() is more likely to be -+// available to all users in the future, remove FreeMMVar() and use -+// FT_Done_MM_Var() directly. -+// -+// Use weak symbols to check if FT_Done_MM_Var() is available at runtime. -+#if !BUILDFLAG(IS_WIN) -+extern "C" __attribute__((weak)) decltype(FT_Done_MM_Var) FT_Done_MM_Var; -+#endif -+ -+void FreeMMVar(FXFT_FaceRec* rec, FXFT_MM_VarPtr variation_desc) { -+#if BUILDFLAG(IS_WIN) -+ // Assume `use_system_freetype` GN var is never set on Windows. -+ constexpr bool has_ft_done_mm_var_func = true; -+#else -+ static const bool has_ft_done_mm_var_func = !!FT_Done_MM_Var; -+#endif -+ if (has_ft_done_mm_var_func) { -+ FT_Done_MM_Var(CFX_GEModule::Get()->GetFontMgr()->GetFTLibrary(), -+ variation_desc); -+ } else { -+ FXFT_Free(rec, variation_desc); -+ } -+} -+ - FX_RECT FXRectFromFTPos(FT_Pos left, FT_Pos top, FT_Pos right, FT_Pos bottom) { - return FX_RECT(pdfium::base::checked_cast(left), - pdfium::base::checked_cast(top), -@@ -645,7 +669,7 @@ void CFX_Font::AdjustMMParams(int glyph_index, - FT_Pos max_width = FXFT_Get_Glyph_HoriAdvance(m_Face->GetRec()) * 1000 / - FXFT_Get_Face_UnitsPerEM(m_Face->GetRec()); - if (max_width == min_width) { -- FXFT_Free(m_Face->GetRec(), pMasters); -+ FreeMMVar(m_Face->GetRec(), pMasters); - return; - } - FT_Pos param = min_param + (max_param - min_param) * -@@ -653,7 +677,7 @@ void CFX_Font::AdjustMMParams(int glyph_index, - (max_width - min_width); - coords[1] = param; - } -- FXFT_Free(m_Face->GetRec(), pMasters); -+ FreeMMVar(m_Face->GetRec(), pMasters); - FT_Set_MM_Design_Coordinates(m_Face->GetRec(), 2, coords); - } - diff --git a/srcpkgs/chromium/patches/xxx-ppc64le-support.patch b/srcpkgs/chromium/patches/xxx-ppc64le-support.patch index b95e58c834b1..0be29c1a4eec 100644 --- a/srcpkgs/chromium/patches/xxx-ppc64le-support.patch +++ b/srcpkgs/chromium/patches/xxx-ppc64le-support.patch @@ -3403,10 +3403,10 @@ index 9ab5e00b8..ad3feffee 100755 template_sources = _Glob("libdav1d/src/*_tmpl.c") _WriteArray(fd, "template_sources", template_sources) -diff --git a/third_party/dav1d/libdav1d/src/ppc/types.h b/third_party/dav1d/libdav1d/src/ppc/types.h +diff --git a/third_party/dav1d/libdav1d/src/ppc/dav1d_types.h b/third_party/dav1d/libdav1d/src/ppc/dav1d_types.h index 0b4bd72f0..a0caa5e71 100644 ---- a/third_party/dav1d/libdav1d/src/ppc/types.h -+++ b/third_party/dav1d/libdav1d/src/ppc/types.h +--- a/third_party/dav1d/libdav1d/src/ppc/dav1d_types.h ++++ b/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)) @@ -3520,17 +3520,17 @@ diff --git a/third_party/skia/src/sksl/SkSLString.cpp b/third_party/skia/src/sks index ec3e56964..4cf8999a2 100644 --- a/third_party/skia/src/sksl/SkSLString.cpp +++ b/third_party/skia/src/sksl/SkSLString.cpp -@@ -234,7 +234,12 @@ String to_string(double value) { +@@ -37,7 +37,12 @@ String to_string(double value) { if (needsDotZero) { buffer << ".0"; } -- return String(buffer.str().c_str()); +- return buffer.str(); + + std::string ret(buffer.str()); + if (signbit(value) && ret[0] == '.') { + ret[0] = '-'; + } -+ return String(ret.c_str()); ++ return ret; } bool stod(const StringFragment& s, SKSL_FLOAT* value) { diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template index f6154e223751..96b34227a323 100644 --- a/srcpkgs/chromium/template +++ b/srcpkgs/chromium/template @@ -1,7 +1,7 @@ # Template file for 'chromium' pkgname=chromium # See https://chromiumdash.appspot.com/releases?platform=Linux for the latest version -version=99.0.4844.84 +version=100.0.4896.60 revision=1 archs="i686* x86_64* aarch64* armv7l* ppc64le*" short_desc="Google's attempt at creating a safer, faster, and more stable browser" @@ -9,7 +9,7 @@ maintainer="Duncaen " license="BSD-3-Clause" homepage="https://www.chromium.org/" distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz" -checksum=20ec184ed34bdc7e660ccf6c007b2db37007de423b3a5a51698a96aa29527515 +checksum=0e5ea5f3061ad090cf6bd57ca037496d95ea8956de021aff902f7d0ded7bffdc lib32disabled=yes