From f92ce96a8a0f64bcc7d37edbff965aae0f0a3792 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Fri, 16 Oct 2020 10:20:21 -0400 Subject: [PATCH] 86 --- ...m-86-ConsumeDurationNumber-constexpr.patch | 32 ++++ chromium-86-ImageMemoryBarrierData-init.patch | 31 ++++ ...86-ServiceWorkerRunningInfo-noexcept.patch | 63 ++++++++ chromium-86-nearby-explicit.patch | 25 +++ chromium-86-nearby-include.patch | 24 +++ ...75-enable-hardware-accelerated-mjpeg.patch | 71 +++++++++ chromium-86.0.4240.75-fedora-user-agent.patch | 12 ++ ...mium-86.0.4240.75-fix-vaapi-on-intel.patch | 36 +++++ ...-86.0.4240.75-initial_prefs-etc-path.patch | 15 ++ ...-86.0.4240.75-vaapi-i686-fpermissive.patch | 23 +++ ...6.0.4240.75-widevine-other-locations.patch | 20 +++ chromium.spec | 148 ++++++++---------- clean_ffmpeg.sh | 4 +- sources | 2 +- 14 files changed, 422 insertions(+), 84 deletions(-) create mode 100644 chromium-86-ConsumeDurationNumber-constexpr.patch create mode 100644 chromium-86-ImageMemoryBarrierData-init.patch create mode 100644 chromium-86-ServiceWorkerRunningInfo-noexcept.patch create mode 100644 chromium-86-nearby-explicit.patch create mode 100644 chromium-86-nearby-include.patch create mode 100644 chromium-86.0.4240.75-enable-hardware-accelerated-mjpeg.patch create mode 100644 chromium-86.0.4240.75-fedora-user-agent.patch create mode 100644 chromium-86.0.4240.75-fix-vaapi-on-intel.patch create mode 100644 chromium-86.0.4240.75-initial_prefs-etc-path.patch create mode 100644 chromium-86.0.4240.75-vaapi-i686-fpermissive.patch create mode 100644 chromium-86.0.4240.75-widevine-other-locations.patch diff --git a/chromium-86-ConsumeDurationNumber-constexpr.patch b/chromium-86-ConsumeDurationNumber-constexpr.patch new file mode 100644 index 00000000..b6232237 --- /dev/null +++ b/chromium-86-ConsumeDurationNumber-constexpr.patch @@ -0,0 +1,32 @@ +From f64e2d2daa64749995253f8ad00679ce74abdc1b Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 19 Aug 2020 11:02:00 +0200 +Subject: [PATCH] GCC: ConsumeDurationNumber cannot be a constexpr + +Declaring base::ConsumeDurationNumber as constexpr is not valid, as it +uses the BasicStringPiece::begin method, that is not constexpr. + +build error in GCC: +../../base/time/time.cc: In function ‘constexpr base::Optional base::{anonymous}::ConsumeDurationNumber(base::StringPiece&)’: +../../base/time/time.cc:67:63: error: call to non-‘constexpr’ function ‘const value_type* base::BasicStringPiece::begin() const [with STRING_TYPE = std::__cxx11::basic_string; base::BasicStringPiece::const_iterator = const char*; base::BasicStringPiece::value_type = char]’ + 67 | StringPiece::const_iterator orig_start = number_string.begin(); + | ~~~~~~~~~~~~~~~~~~~^~ + +Bug: 859294 +Change-Id: Id987d003f66052848d7083bb33abc3acfd109b73 +--- + +diff --git a/base/time/time.cc b/base/time/time.cc +index 1b1a830..7c47419 100644 +--- a/base/time/time.cc ++++ b/base/time/time.cc +@@ -61,8 +61,7 @@ + // + // Adapted from absl: + // https://cs.chromium.org/chromium/src/third_party/abseil-cpp/absl/time/duration.cc?l=807&rcl=2c22e9135f107a4319582ae52e2e3e6b201b6b7c +-constexpr Optional ConsumeDurationNumber( +- StringPiece& number_string) { ++Optional ConsumeDurationNumber(StringPiece& number_string) { + ParsedDecimal res; + StringPiece::const_iterator orig_start = number_string.begin(); + // Parse contiguous digits. diff --git a/chromium-86-ImageMemoryBarrierData-init.patch b/chromium-86-ImageMemoryBarrierData-init.patch new file mode 100644 index 00000000..ff12a80f --- /dev/null +++ b/chromium-86-ImageMemoryBarrierData-init.patch @@ -0,0 +1,31 @@ +From 2879a6ba43b65c33e3c02432b4ae7a7462d24096 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Fri, 28 Aug 2020 07:23:29 +0000 +Subject: [PATCH] GCC: fix ImageMemoryBarrierData initialization + +GCC can't convert constant string to char[40]. Use const char * instead. +Otherwise fails like this: + +src/libANGLE/renderer/vulkan/vk_helpers.cpp:121:1: error: could not convert +'...' from '' to +'const angle::PackedEnumMap' +--- + third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp b/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp +index af957d7..7fe82ae 100644 +--- a/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp ++++ b/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp +@@ -73,7 +73,7 @@ enum BarrierType + + struct ImageMemoryBarrierData + { +- char name[40]; ++ const char *name; + + // The Vk layout corresponding to the ImageLayout key. + VkImageLayout layout; +-- +2.26.2 + diff --git a/chromium-86-ServiceWorkerRunningInfo-noexcept.patch b/chromium-86-ServiceWorkerRunningInfo-noexcept.patch new file mode 100644 index 00000000..ce692124 --- /dev/null +++ b/chromium-86-ServiceWorkerRunningInfo-noexcept.patch @@ -0,0 +1,63 @@ +From e4b5d6eddf876509c05cb377bc4ce67fae0f3b1c Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Fri, 21 Aug 2020 07:40:33 +0000 +Subject: [PATCH] GCC: default move constructor of ServiceWorkerRunningInfo noexcept requires StrongAlias noexcept too. + +Fix for this GCC compilation error: +../../content/public/browser/service_worker_running_info.cc:26:1: error: function ‘content::ServiceWorkerRunningInfo::ServiceWorkerRunningInfo(content::ServiceWorkerRunningInfo&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’ + 26 | ServiceWorkerRunningInfo::ServiceWorkerRunningInfo( + | ^~~~~~~~~~~~~~~~~~~~~~~~ + +Problem comes from blink::ServiceWorkerToken move constructor being declared +noexcept, but its parent StrongAlias not having noexcept. + +Fix making StrongAlias move constructor noexcept too. + +Bug: 819294 +Change-Id: I127a435b3d1f52f01a40700457ce6e67d5d67af2 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2359077 +Reviewed-by: Daniel Cheng +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#800495} +--- + +diff --git a/base/util/type_safety/strong_alias.h b/base/util/type_safety/strong_alias.h +index ea93928..df49749 100644 +--- a/base/util/type_safety/strong_alias.h ++++ b/base/util/type_safety/strong_alias.h +@@ -70,7 +70,8 @@ + public: + constexpr StrongAlias() = default; + constexpr explicit StrongAlias(const UnderlyingType& v) : value_(v) {} +- constexpr explicit StrongAlias(UnderlyingType&& v) : value_(std::move(v)) {} ++ constexpr explicit StrongAlias(UnderlyingType&& v) noexcept ++ : value_(std::move(v)) {} + + constexpr UnderlyingType& value() & { return value_; } + constexpr const UnderlyingType& value() const& { return value_; } +From 4924144afd81017920885aecf4aedfe5d86ae71c Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Fri, 21 Aug 2020 18:32:11 +0200 +Subject: [PATCH] GCC: pending fix for ServiceWorkerRunningInfo noexcept in move constructor + +It is not enough to make StrongAlias noexcept. TokenType needs to also +provide noexcept move constructor. + +Bug: 819294 +Change-Id: Ib85faa18f66b41053fb71ecee32e818e05685080 +--- + +diff --git a/base/util/type_safety/token_type.h b/base/util/type_safety/token_type.h +index 0a12679..2cbfdb7 100644 +--- a/base/util/type_safety/token_type.h ++++ b/base/util/type_safety/token_type.h +@@ -23,6 +23,9 @@ + TokenType() : Super(base::UnguessableToken::Create()) {} + explicit TokenType(const base::UnguessableToken& token) : Super(token) {} + TokenType(const TokenType& token) : Super(token.value()) {} ++ TokenType(TokenType&& token) noexcept : Super(token.value()) {} ++ TokenType& operator=(const TokenType& token) = default; ++ TokenType& operator=(TokenType&& token) noexcept = default; + + // This object allows default assignment operators for compatibility with + // STL containers. diff --git a/chromium-86-nearby-explicit.patch b/chromium-86-nearby-explicit.patch new file mode 100644 index 00000000..84709cb0 --- /dev/null +++ b/chromium-86-nearby-explicit.patch @@ -0,0 +1,25 @@ +From 849e5c6b3a8746d9205102bd3df4e140cead405a Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Sat, 18 Jul 2020 15:11:13 +0000 +Subject: [PATCH] GCC: remove explicit from AtomicReference constructor + +--- + .../nearby/src/cpp/platform_v2/public/atomic_reference.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h b/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h +index 5742724..bbb8c01 100644 +--- a/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h ++++ b/third_party/nearby/src/cpp/platform_v2/public/atomic_reference.h +@@ -37,7 +37,7 @@ class AtomicReference(value))) { + } + ~AtomicReference() = default; +-- +2.26.2 + diff --git a/chromium-86-nearby-include.patch b/chromium-86-nearby-include.patch new file mode 100644 index 00000000..d3f02c27 --- /dev/null +++ b/chromium-86-nearby-include.patch @@ -0,0 +1,24 @@ +From a5b2ee9dd7dfb186e26ec6c0c06c2ae1a9d27195 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Sat, 18 Jul 2020 14:15:50 +0000 +Subject: [PATCH] IWYU: memcpy is defined in cstring + +--- + third_party/nearby/src/cpp/platform_v2/base/byte_array.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/third_party/nearby/src/cpp/platform_v2/base/byte_array.h b/third_party/nearby/src/cpp/platform_v2/base/byte_array.h +index ee5d0eb..4b1d79b 100644 +--- a/third_party/nearby/src/cpp/platform_v2/base/byte_array.h ++++ b/third_party/nearby/src/cpp/platform_v2/base/byte_array.h +@@ -17,6 +17,7 @@ + + #include + #include ++#include + #include + #include + #include +-- +2.26.2 + diff --git a/chromium-86.0.4240.75-enable-hardware-accelerated-mjpeg.patch b/chromium-86.0.4240.75-enable-hardware-accelerated-mjpeg.patch new file mode 100644 index 00000000..85a43ef8 --- /dev/null +++ b/chromium-86.0.4240.75-enable-hardware-accelerated-mjpeg.patch @@ -0,0 +1,71 @@ +diff -up chromium-86.0.4240.75/chrome/browser/about_flags.cc.vaapi chromium-86.0.4240.75/chrome/browser/about_flags.cc +--- chromium-86.0.4240.75/chrome/browser/about_flags.cc.vaapi 2020-10-07 12:38:37.000000000 -0400 ++++ chromium-86.0.4240.75/chrome/browser/about_flags.cc 2020-10-14 15:46:27.429435196 -0400 +@@ -3112,12 +3112,12 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop, + MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)}, + #endif // ENABLE_VR +-#if defined(OS_CHROMEOS) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) + {"disable-accelerated-mjpeg-decode", + flag_descriptions::kAcceleratedMjpegDecodeName, +- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, ++ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, + SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, +-#endif // OS_CHROMEOS ++#endif // OS_CHROMEOS || OS_LINUX + {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, + flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, + FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, +diff -up chromium-86.0.4240.75/chrome/browser/flag_descriptions.cc.vaapi chromium-86.0.4240.75/chrome/browser/flag_descriptions.cc +--- chromium-86.0.4240.75/chrome/browser/flag_descriptions.cc.vaapi 2020-10-07 12:38:38.000000000 -0400 ++++ chromium-86.0.4240.75/chrome/browser/flag_descriptions.cc 2020-10-14 15:46:27.430435203 -0400 +@@ -3519,16 +3519,19 @@ const char kVideoToolboxVp9DecodingDescr + + #endif + +-// Chrome OS ------------------------------------------------------------------- +- +-#if defined(OS_CHROMEOS) ++// Chrome OS and Linux ------------------------------------------------------------------- + ++#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) + const char kAcceleratedMjpegDecodeName[] = + "Hardware-accelerated mjpeg decode for captured frame"; + const char kAcceleratedMjpegDecodeDescription[] = + "Enable hardware-accelerated mjpeg decode for captured frame where " + "available."; ++#endif + ++// Chrome OS ----------------------------------------------------------------------------- ++ ++#if defined(OS_CHROMEOS) + const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML."; + const char kAggregatedMlAppRankingDescription[] = + "Use the aggregated ML model to rank the suggested apps."; +diff -up chromium-86.0.4240.75/chrome/browser/flag_descriptions.h.vaapi chromium-86.0.4240.75/chrome/browser/flag_descriptions.h +--- chromium-86.0.4240.75/chrome/browser/flag_descriptions.h.vaapi 2020-10-14 15:46:27.431435211 -0400 ++++ chromium-86.0.4240.75/chrome/browser/flag_descriptions.h 2020-10-14 15:56:25.774118708 -0400 +@@ -2026,13 +2026,19 @@ extern const char kVideoToolboxVp9Decodi + + #endif // defined(OS_MAC) + +-// Chrome OS ------------------------------------------------------------------ ++// Chrome OS and Linux --------------------------------------------------------- + +-#if defined(OS_CHROMEOS) ++#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) + + extern const char kAcceleratedMjpegDecodeName[]; + extern const char kAcceleratedMjpegDecodeDescription[]; + ++#endif ++ ++// Chrome OS ------------------------------------------------------------------- ++ ++#if defined(OS_CHROMEOS) ++ + extern const char kAggregatedMlAppRankingName[]; + extern const char kAggregatedMlAppRankingDescription[]; + +diff -up chromium-86.0.4240.75/gpu/config/software_rendering_list.json.vaapi chromium-86.0.4240.75/gpu/config/software_rendering_list.json diff --git a/chromium-86.0.4240.75-fedora-user-agent.patch b/chromium-86.0.4240.75-fedora-user-agent.patch new file mode 100644 index 00000000..4101bca9 --- /dev/null +++ b/chromium-86.0.4240.75-fedora-user-agent.patch @@ -0,0 +1,12 @@ +diff -up chromium-86.0.4240.75/content/common/user_agent.cc.fedora-user-agent chromium-86.0.4240.75/content/common/user_agent.cc +--- chromium-86.0.4240.75/content/common/user_agent.cc.fedora-user-agent 2020-10-14 15:02:45.584926527 -0400 ++++ chromium-86.0.4240.75/content/common/user_agent.cc 2020-10-14 15:43:30.848052994 -0400 +@@ -31,7 +31,7 @@ std::string GetUserAgentPlatform() { + #elif defined(OS_MAC) + return "Macintosh; "; + #elif defined(USE_X11) || defined(USE_OZONE) +- return "X11; "; // strange, but that's what Firefox uses ++ return "X11; Fedora; "; // strange, but that's what Firefox uses + #elif defined(OS_ANDROID) + return "Linux; "; + #elif defined(OS_FUCHSIA) diff --git a/chromium-86.0.4240.75-fix-vaapi-on-intel.patch b/chromium-86.0.4240.75-fix-vaapi-on-intel.patch new file mode 100644 index 00000000..04fa2a79 --- /dev/null +++ b/chromium-86.0.4240.75-fix-vaapi-on-intel.patch @@ -0,0 +1,36 @@ +diff -up chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.vaapi-intel-fix chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc +--- chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.vaapi-intel-fix 2020-10-07 12:38:47.000000000 -0400 ++++ chromium-86.0.4240.75/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2020-10-14 16:20:46.938556042 -0400 +@@ -58,6 +58,7 @@ unsigned int GetVaFormatForVideoCodecPro + return VA_RT_FORMAT_YUV420; + } + ++#if defined(OS_ANDROID) || defined(OS_CHROMEOS) + // Returns true if the CPU is an Intel Gemini Lake or later (including Kaby + // Lake) Cpu platform id's are referenced from the following file in kernel + // source arch/x86/include/asm/intel-family.h +@@ -70,6 +71,7 @@ bool IsGeminiLakeOrLater() { + cpuid.model() >= kGeminiLakeModelId; + return is_geminilake_or_later; + } ++#endif + + } // namespace + +@@ -1214,6 +1216,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe + if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT) + return BufferAllocationMode::kNormal; + ++#if defined(OS_ANDROID) || defined(OS_CHROMEOS) ++ // Move this to chromeOs only as it is causing problem in some intel linux drivers + // On Gemini Lake, Kaby Lake and later we can pass to libva the client's + // PictureBuffers to decode onto, which skips the use of the Vpp unit and its + // associated format reconciliation copy, avoiding all internal buffer +@@ -1229,6 +1233,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe + num_extra_pics_ = 3; + return BufferAllocationMode::kNone; + } ++#endif + + // For H.264 on older devices, another +1 is experimentally needed for + // high-to-high resolution changes. diff --git a/chromium-86.0.4240.75-initial_prefs-etc-path.patch b/chromium-86.0.4240.75-initial_prefs-etc-path.patch new file mode 100644 index 00000000..91db4f9d --- /dev/null +++ b/chromium-86.0.4240.75-initial_prefs-etc-path.patch @@ -0,0 +1,15 @@ +diff -up chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc.etc chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc +--- chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc.etc 2020-10-14 14:38:42.826660141 -0400 ++++ chromium-86.0.4240.75/chrome/browser/first_run/first_run_internal_linux.cc 2020-10-14 14:44:49.906526646 -0400 +@@ -19,9 +19,9 @@ bool IsOrganicFirstRun() { + + base::FilePath InitialPrefsPath() { + // The standard location of the initial prefs is next to the chrome binary. ++ // ...but we patch it to use /etc/chromium + base::FilePath initial_prefs; +- if (!base::PathService::Get(base::DIR_EXE, &initial_prefs)) +- return base::FilePath(); ++ initial_prefs = base::FilePath("/etc/chromium"); + return initial_prefs.AppendASCII(installer::kDefaultMasterPrefs); + } + diff --git a/chromium-86.0.4240.75-vaapi-i686-fpermissive.patch b/chromium-86.0.4240.75-vaapi-i686-fpermissive.patch new file mode 100644 index 00000000..b9025940 --- /dev/null +++ b/chromium-86.0.4240.75-vaapi-i686-fpermissive.patch @@ -0,0 +1,23 @@ +diff -up chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn.i686permissive chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn +--- chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn.i686permissive 2020-10-14 16:24:17.803206586 -0400 ++++ chromium-86.0.4240.75/media/gpu/vaapi/BUILD.gn 2020-10-14 16:24:59.212530721 -0400 +@@ -13,6 +13,10 @@ import("//ui/ozone/ozone.gni") + assert(is_linux || is_chromeos) + assert(use_vaapi) + ++config("vaapi_permissive") { ++ cflags = [ "-fpermissive" ] ++} ++ + generate_stubs("libva_stubs") { + extra_header = "va_stub_header.fragment" + sigs = [ "va.sigs" ] +@@ -121,6 +125,8 @@ source_set("vaapi") { + ] + } + ++ configs += [ ":vaapi_permissive" ] ++ + if (use_x11) { + deps += [ "//ui/gfx/x" ] + sources += [ diff --git a/chromium-86.0.4240.75-widevine-other-locations.patch b/chromium-86.0.4240.75-widevine-other-locations.patch new file mode 100644 index 00000000..948fb6c0 --- /dev/null +++ b/chromium-86.0.4240.75-widevine-other-locations.patch @@ -0,0 +1,20 @@ +diff -up chromium-86.0.4240.75/chrome/common/chrome_paths.cc.widevine-other-locations chromium-86.0.4240.75/chrome/common/chrome_paths.cc +--- chromium-86.0.4240.75/chrome/common/chrome_paths.cc.widevine-other-locations 2020-10-14 14:47:36.000823668 -0400 ++++ chromium-86.0.4240.75/chrome/common/chrome_paths.cc 2020-10-14 14:54:49.347207638 -0400 +@@ -379,6 +379,16 @@ bool PathProvider(int key, base::FilePat + #if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ + BUILDFLAG(BUNDLE_WIDEVINE_CDM) + case chrome::DIR_BUNDLED_WIDEVINE_CDM: ++ base::PathService::Get(base::DIR_HOME, &cur); ++ cur = cur.Append(FILE_PATH_LITERAL(".local/lib/libwidevinecdm.so")); ++ if (base::PathExists(cur)) { ++ break; ++ } ++ // Yes, this has an arch hardcoded in the path, but at this time, it is the only place to find libwidevinecdm.so ++ if (base::PathExists(base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")))) { ++ cur = base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")); ++ break; ++ } + if (!GetComponentDirectory(&cur)) + return false; + #if !defined(OS_CHROMEOS) diff --git a/chromium.spec b/chromium.spec index e012f257..de246e69 100644 --- a/chromium.spec +++ b/chromium.spec @@ -170,15 +170,15 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 85 +%global majorversion 86 %if %{freeworld} Name: chromium%{chromium_channel}%{nsuffix} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.4183.121 -Release: 2%{?dist} +Version: %{majorversion}.0.4240.75 +Release: 1%{?dist} %if %{?freeworld} %if %{?shared} # chromium-libs-media-freeworld @@ -195,8 +195,8 @@ License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and Open ### Chromium Fedora Patches ### Patch0: chromium-70.0.3538.67-sandbox-pie.patch -# Use /etc/chromium for master_prefs -Patch1: chromium-68.0.3440.106-master-prefs-path.patch +# Use /etc/chromium for initial_prefs +Patch1: chromium-86.0.4240.75-initial_prefs-etc-path.patch # Use gn system files Patch2: chromium-67.0.3396.62-gn-system.patch # Do not prefix libpng functions @@ -206,7 +206,7 @@ Patch4: chromium-60.0.3112.78-jpeg-nomangle.patch # Do not mangle zlib Patch5: chromium-77.0.3865.75-no-zlib-mangle.patch # Do not use unrar code, it is non-free -Patch6: chromium-83.0.4103.61-norar.patch +Patch6: chromium-86.0.4240.75-norar.patch # Use Gentoo's Widevine hack # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-widevine-r3.patch Patch7: chromium-71.0.3578.98-widevine-r3.patch @@ -215,11 +215,11 @@ Patch8: chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch # drop rsp clobber, which breaks gcc9 (thanks to Jeff Law) Patch9: chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch # Try to load widevine from other places -Patch10: chromium-79.0.3945.56-widevine-other-locations.patch +Patch10: chromium-86.0.4240.75-widevine-other-locations.patch # Try to fix version.py for Rawhide Patch11: chromium-71.0.3578.98-py2-bootstrap.patch # Add "Fedora" to the user agent string -Patch12: chromium-79.0.3945.56-fedora-user-agent.patch +Patch12: chromium-86.0.4240.75-fedora-user-agent.patch # rename function to avoid conflict with rawhide glibc "gettid()" Patch50: chromium-75.0.3770.80-grpc-gettid-fix.patch @@ -234,59 +234,40 @@ Patch54: chromium-79-gcc-protobuf-alignas.patch # https://github.com/stha09/chromium-patches/blob/master/chromium-78-protobuf-RepeatedPtrField-export.patch Patch55: chromium-78-protobuf-RepeatedPtrField-export.patch # https://github.com/stha09/chromium-patches/blob/master/chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch -Patch57: chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch +Patch56: chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch # ../../third_party/perfetto/include/perfetto/base/task_runner.h:48:55: error: 'uint32_t' has not been declared -Patch58: chromium-80.0.3987.87-missing-cstdint-header.patch +Patch57: chromium-80.0.3987.87-missing-cstdint-header.patch # Missing (thanks c++17) -Patch60: chromium-80.0.3987.106-missing-cstring-header.patch +Patch58: chromium-80.0.3987.106-missing-cstring-header.patch # prepare for using system ffmpeg (clean) # http://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/current/SOURCES/chromium-53-ffmpeg-no-deprecation-errors.patch?view=markup -Patch61: chromium-53-ffmpeg-no-deprecation-errors.patch -# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-83-gcc-iterator.patch -Patch62: chromium-83-gcc-iterator.patch -# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-83-gcc-compatibility.patch -Patch63: chromium-83-gcc-compatibility.patch -# Fix skia's handling of no_sanitize attributes to work with gcc -# https://github.com/stha09/chromium-patches/blob/master/chromium-skia-no_sanitize.patch -Patch64: chromium-skia-no_sanitize.patch +Patch59: chromium-53-ffmpeg-no-deprecation-errors.patch # Work around aarch64 gcc bug (PR95726) -Patch65: chromium-83.0.4103.97-gcc10-aarch64-hack.patch +# Patch60: chromium-83.0.4103.97-gcc10-aarch64-hack.patch # https://github.com/stha09/chromium-patches/blob/master/chromium-84-blink-disable-clang-format.patch -Patch66: chromium-84-blink-disable-clang-format.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-85-ozone-include.patch -Patch67: chromium-85-ozone-include.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-blink-gcc-diagnostic-pragma.patch -Patch68: chromium-blink-gcc-diagnostic-pragma.patch +Patch61: chromium-84-blink-disable-clang-format.patch # https://github.com/stha09/chromium-patches/blob/master/chromium-fix-char_traits.patch -Patch69: chromium-fix-char_traits.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-quiche-invalid-offsetof.patch -Patch70: chromium-quiche-invalid-offsetof.patch +Patch62: chromium-fix-char_traits.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-86-ConsumeDurationNumber-constexpr.patch +Patch63: chromium-86-ConsumeDurationNumber-constexpr.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-86-ImageMemoryBarrierData-init.patch +Patch64: chromium-86-ImageMemoryBarrierData-init.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-86-nearby-explicit.patch +Patch65: chromium-86-nearby-explicit.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-86-nearby-include.patch +Patch66: chromium-86-nearby-include.patch +# https://github.com/stha09/chromium-patches/blob/master/chromium-86-ServiceWorkerRunningInfo-noexcept.patch +Patch67: chromium-86-ServiceWorkerRunningInfo-noexcept.patch # Silence GCC warnings during gn compile -Patch71: chromium-84.0.4147.105-gn-gcc-cleanup.patch +Patch68: chromium-84.0.4147.105-gn-gcc-cleanup.patch # Fix missing cstring in remoting code -Patch72: chromium-84.0.4147.125-remoting-cstring.patch +Patch69: chromium-84.0.4147.125-remoting-cstring.patch # Apply fix_textrels hack for i686 (even without lld) -Patch73: chromium-84.0.4147.125-i686-fix_textrels.patch +Patch70: chromium-84.0.4147.125-i686-fix_textrels.patch # Work around binutils bug in aarch64 (F33+) -Patch74: chromium-84.0.4147.125-aarch64-clearkeycdm-binutils-workaround.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-85-FrameWidget-namespace.patch -Patch75: chromium-85-FrameWidget-namespace.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-85-NearbyConnection-abstract.patch -Patch76: chromium-85-NearbyConnection-abstract.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-85-oscillator_node-cast.patch -Patch77: chromium-85-oscillator_node-cast.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-85-ostream-operator.patch -Patch78: chromium-85-ostream-operator.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-85-sim_hash-include.patch -Patch79: chromium-85-sim_hash-include.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-85-DelayNode-cast.patch -Patch80: chromium-85-DelayNode-cast.patch -# https://github.com/stha09/chromium-patches/blob/master/chromium-85-NearbyShareEncryptedMetadataKey-include.patch -Patch81: chromium-85-NearbyShareEncryptedMetadataKey-include.patch -# https://chromium.googlesource.com/chromium/src/+/17edd5225a9e6a388a9560efe20362a1a0d86694 -Patch82: chromium-85.0.4183.83-gcc-not-auto.patch +Patch71: chromium-84.0.4147.125-aarch64-clearkeycdm-binutils-workaround.patch # https://github.com/chromium/chromium/commit/53478caee862624fc6d73516f8d64253854b146f -Patch83: chromium-85.0.4183.102-invalid-end-CookieMonster-53478ca.patch +Patch72: chromium-85.0.4183.102-invalid-end-CookieMonster-53478ca.patch # Use lstdc++ on EPEL7 only Patch101: chromium-75.0.3770.100-epel7-stdc++.patch @@ -307,11 +288,11 @@ Patch107: chromium-84.0.4147.89-el8-arm-incompatible-ints.patch # This gets us by for now Patch108: chromium-85.0.4183.83-el7-old-libdrm.patch -# Enable VAAPI support on Linux -# NOTE: This patch will never land upstream -Patch202: enable-vaapi.patch -Patch203: chromium-83.0.4103.97-vaapi-i686-fpermissive.patch -Patch205: chromium-84.0.4147.89-fix-vaapi-on-intel.patch +# VAAPI +# Upstream turned VAAPI on in Linux in 86 +Patch202: chromium-86.0.4240.75-enable-hardware-accelerated-mjpeg.patch +Patch203: chromium-86.0.4240.75-vaapi-i686-fpermissive.patch +Patch205: chromium-86.0.4240.75-fix-vaapi-on-intel.patch # Apply these patches to work around EPEL8 issues Patch300: chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch @@ -881,32 +862,23 @@ udev. %patch53 -p1 -b .gcc-include-memory %patch54 -p1 -b .base-gcc-no-alignas %patch55 -p1 -b .protobuf-export -%patch57 -p1 -b .gcc-quiche -%patch58 -p1 -b .missing-cstdint -%patch60 -p1 -b .missing-cstring -%patch61 -p1 -b .ffmpeg-deprecations -%patch62 -p1 -b .gcc-iterator2 -%patch63 -p1 -b .gcc-compatibility -%patch64 -p1 -b .gcc-no_sanitize -%patch65 -p1 -b .gcc10-aarch64-hack -%patch66 -p1 -b .blink-disable-clang-format -%patch67 -p1 -b .ozone-include -%patch68 -p1 -b .blink-gcc-diagnostic-pragma -%patch69 -p1 -b .fix-char_traits -%patch70 -p1 -b .quiche-invalid-offset -%patch71 -p1 -b .gn-gcc-cleanup -%patch72 -p1 -b .remoting-cstring -%patch73 -p1 -b .i686-textrels -%patch74 -p1 -b .aarch64-clearkeycdm-binutils-workaround -%patch75 -p1 -b .FrameWidget-namespace -%patch76 -p1 -b .NearbyConnection-abstract -%patch77 -p1 -b .oscillator_node-cast -%patch78 -p1 -b .ostream-operator -%patch79 -p1 -b .sim_hash-include -%patch80 -p1 -b .DelayNode-cast -%patch81 -p1 -b .NearbyShareEncryptedMetadataKey-include -%patch82 -p1 -b .gcc-not-auto -%patch83 -p1 -b .invalid-end-CookieMonster +%patch56 -p1 -b .gcc-quiche +%patch57 -p1 -b .missing-cstdint +%patch58 -p1 -b .missing-cstring +%patch59 -p1 -b .ffmpeg-deprecations +# %%patch60 -p1 -b .gcc10-aarch64-hack +%patch61 -p1 -b .blink-disable-clang-format +%patch62 -p1 -b .fix-char_traits +%patch63 -p1 -b .ConsumeDurationNumber-constexpr +%patch64 -p1 -b .ImageMemoryBarrierData-init +%patch65 -p1 -b .nearby-explicit +%patch66 -p1 -b .nearby-include +%patch67 -p1 -b .ServiceWorkerRunningInfo-noexcept +%patch68 -p1 -b .gn-gcc-cleanup +%patch69 -p1 -b .remoting-cstring +%patch70 -p1 -b .i686-textrels +%patch71 -p1 -b .aarch64-clearkeycdm-binutils-workaround +%patch72 -p1 -b .invalid-end-CookieMonster # Fedora branded user agent %if 0%{?fedora} @@ -932,7 +904,7 @@ udev. # Feature specific patches %if %{use_vaapi} -%patch202 -p1 -b .vaapi +%patch202 -p1 -b .accel-mjpeg %ifarch i686 %patch203 -p1 -b .i686permissive %endif @@ -1148,7 +1120,6 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/breakpad' \ 'third_party/breakpad/breakpad/src/third_party/curl' \ 'third_party/brotli' \ - 'third_party/cacheinvalidation' \ 'third_party/catapult' \ 'third_party/catapult/common/py_vulcanize/third_party/rcssmin' \ 'third_party/catapult/common/py_vulcanize/third_party/rjsmin' \ @@ -1180,9 +1151,15 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/devtools-frontend/src/third_party/axe-core' \ 'third_party/devtools-frontend/src/third_party/typescript' \ 'third_party/devtools-frontend/src/front_end/third_party/acorn' \ + 'third_party/devtools-frontend/src/front_end/third_party/chromium' \ 'third_party/devtools-frontend/src/front_end/third_party/codemirror' \ 'third_party/devtools-frontend/src/front_end/third_party/fabricjs' \ + 'third_party/devtools-frontend/src/front_end/third_party/i18n' \ + 'third_party/devtools-frontend/src/front_end/third_party/intl-messageformat' \ 'third_party/devtools-frontend/src/front_end/third_party/lighthouse' \ + 'third_party/devtools-frontend/src/front_end/third_party/lit-html' \ + 'third_party/devtools-frontend/src/front_end/third_party/lodash-isequal' \ + 'third_party/devtools-frontend/src/front_end/third_party/marked' \ 'third_party/devtools-frontend/src/front_end/third_party/wasmparser' \ 'third_party/dom_distiller_js' \ 'third_party/emoji-segmenter' \ @@ -1246,6 +1223,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/metrics_proto' \ 'third_party/modp_b64' \ 'third_party/nasm' \ + 'third_party/nearby' \ 'third_party/node' \ 'third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2' \ 'third_party/one_euro_filter' \ @@ -1284,6 +1262,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/rnnoise' \ 'third_party/s2cellid' \ 'third_party/schema_org' \ + 'third_party/securemessage' \ 'third_party/simplejson' \ 'third_party/sinonjs' \ 'third_party/skia' \ @@ -1306,6 +1285,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/swiftshader/third_party/SPIRV-Headers' \ 'third_party/tcmalloc' \ 'third_party/test_fonts' \ + 'third_party/ukey2' \ 'third_party/usb_ids' \ 'third_party/usrsctp' \ 'third_party/vulkan' \ @@ -1325,6 +1305,7 @@ build/linux/unbundle/remove_bundled_libraries.py \ 'third_party/wuffs' \ 'third_party/xcbproto' \ 'third_party/xdg-utils' \ + 'third_party/zxcvbn-cpp' \ 'third_party/zlib' \ 'third_party/zlib/google' \ 'tools/gn/src/base/third_party/icu' \ @@ -1924,6 +1905,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Wed Oct 14 2020 Tom Callaway - 86.0.4240.75-1 +- update to 86.0.4240.75 + * Mon Sep 28 2020 Tom Callaway - 85.0.4183.121-2 - rebuild for libevent diff --git a/clean_ffmpeg.sh b/clean_ffmpeg.sh index b2209cfc..7923156f 100755 --- a/clean_ffmpeg.sh +++ b/clean_ffmpeg.sh @@ -74,7 +74,9 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/bytestream.h \ libavcodec/cbrt_data.h \ libavcodec/cbrt_tablegen.h \ + libavcodec/codec.h \ libavcodec/codec_id.h \ + libavcodec/codec_par.h \ libavcodec/dct.h \ libavcodec/dct32.h \ libavcodec/error_resilience.h \ @@ -120,6 +122,7 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/opus_pvq.h \ libavcodec/opus_rc.h \ libavcodec/packet.h \ + libavcodec/packet_internal.h \ libavcodec/pcm_tablegen.h \ libavcodec/pixblockdsp.h \ libavcodec/pixels.h \ @@ -148,7 +151,6 @@ header_files=" libavcodec/x86/inline_asm.h \ libavcodec/vp8data.h \ libavcodec/vp8dsp.h \ libavformat/apetag.h \ - libavformat/audiointerleave.h \ libavformat/avformat.h \ libavformat/dv.h \ libavformat/img2.h \ diff --git a/sources b/sources index 385a1d8d..1bea84c2 100644 --- a/sources +++ b/sources @@ -20,4 +20,4 @@ SHA512 (xcb-proto-1.14.tar.xz) = de66d568163b6da2be9d6c59984f3afa3acd119a7813786 SHA512 (depot_tools.git-master.tar.gz) = dc323888812b66cc92c53a24a8a58ccf9e2961be67aa21852bd091b8b49569071f06ae9104cb58950e6253ac3a29f0db0663e9f35ef2b1ea28696efb38b42708 SHA512 (NotoSansSymbols2-Regular.ttf) = 2644b42c3fdccfe12395f9b61553aced169a0f1dc09f5a0fd7898e9d0a372ee4422b6b1cdab3c86ecc91db437e9ae8a951e64e85edc3ac9e9fca428852dbb2ad SHA512 (NotoSansTibetan-Regular.ttf) = fb5a48fcaea80eebe7d692f6fcf00d59d47658a358d0ec8e046fc559873f88bd595b2da474d2826abd9e9305f3741c69058d867b1e6048f37fe7d71b5d3af36a -SHA512 (chromium-85.0.4183.121-clean.tar.xz) = 32d91d91c4fee52b278b18eaa757c1cea069e77c3aa577311a8c47f3d2136f4cd814250ff81f8e296b45ab15ce2fdfb2aff00676ca69ecc38d7e1019d61885c0 +SHA512 (chromium-86.0.4240.75-clean.tar.xz) = 0b303f36eb4d82c3dd1efb3cab5e351633b609ae2536c2ef60d8bd014fb460b1552003a53e4f58398e532d715e6577288ec986ac8be009678f11b6b206d9df1d