diff --git a/chromium-77.0.3865.75-gcc-include-memory.patch b/chromium-77.0.3865.75-gcc-include-memory.patch index e1d4bdb..67b3b44 100644 --- a/chromium-77.0.3865.75-gcc-include-memory.patch +++ b/chromium-77.0.3865.75-gcc-include-memory.patch @@ -21,14 +21,3 @@ diff -up chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3 #include #include "absl/types/optional.h" -diff -up chromium-80.0.3987.106/third_party/openscreen/src/util/trace_logging/scoped_trace_operations.h.memory chromium-80.0.3987.106/third_party/openscreen/src/util/trace_logging/scoped_trace_operations.h ---- chromium-80.0.3987.106/third_party/openscreen/src/util/trace_logging/scoped_trace_operations.h.memory 2020-02-24 11:35:38.283880819 -0500 -+++ chromium-80.0.3987.106/third_party/openscreen/src/util/trace_logging/scoped_trace_operations.h 2020-02-24 11:35:48.366670897 -0500 -@@ -7,6 +7,7 @@ - - #include - #include -+#include - #include - #include - diff --git a/chromium-80-gcc-abstract.patch b/chromium-80-gcc-abstract.patch deleted file mode 100644 index 190a672..0000000 --- a/chromium-80-gcc-abstract.patch +++ /dev/null @@ -1,41 +0,0 @@ -In file included from ../../third_party/blink/renderer/platform/heap/persistent.h:18, - from ../../third_party/blink/public/platform/web_private_ptr.h:40, - from ../../third_party/blink/public/platform/web_media_stream_track.h:33, - from ../../third_party/blink/public/platform/web_media_stream_source.h:37, - from ../../third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.h:19, - from ../../third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc:5: -../../third_party/blink/renderer/platform/wtf/cross_thread_copier.h: In instantiation of 'struct WTF::CrossThreadCopierPassThrough': -../../third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h:169:14: required from here -../../third_party/blink/renderer/platform/wtf/cross_thread_copier.h:80:15: error: invalid abstract return type 'webrtc::VideoTrackInterface' - 80 | static Type Copy(const T& parameter) { return parameter; } - | ^~~~ -In file included from ../../third_party/webrtc/api/peer_connection_interface.h:88, - from ../../third_party/blink/public/platform/web_rtc_peer_connection_handler.h:39, - from ../../third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.h:20, - from ../../third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc:5: -../../third_party/webrtc/api/media_stream_interface.h:174:18: note: because the following virtual functions are pure within 'webrtc::VideoTrackInterface': - 174 | class RTC_EXPORT VideoTrackInterface - | ^~~~~~~~~~~~~~~~~~~ -../../third_party/webrtc/api/media_stream_interface.h:48:16: note: 'virtual void webrtc::NotifierInterface::RegisterObserver(webrtc::ObserverInterface*)' - 48 | virtual void RegisterObserver(ObserverInterface* observer) = 0; - | ^~~~~~~~~~~~~~~~ -../../third_party/webrtc/api/media_stream_interface.h:49:16: note: 'virtual void webrtc::NotifierInterface::UnregisterObserver(webrtc::ObserverInterface*)' - 49 | virtual void UnregisterObserver(ObserverInterface* observer) = 0; - | ^~~~~~~~~~~~~~~~~~ - -diff --git a/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h b/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h -index 54cb7d1..0d6c40f 100644 ---- a/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h -+++ b/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h -@@ -165,8 +165,9 @@ struct CrossThreadCopier - }; - - template <> --struct CrossThreadCopier -- : public CrossThreadCopierPassThrough { -+struct CrossThreadCopier> -+ : public CrossThreadCopierPassThrough< -+ rtc::scoped_refptr> { - STATIC_ONLY(CrossThreadCopier); - }; - diff --git a/chromium-80-gcc-incomplete-type.patch b/chromium-80-gcc-incomplete-type.patch deleted file mode 100644 index 8d10620..0000000 --- a/chromium-80-gcc-incomplete-type.patch +++ /dev/null @@ -1,229 +0,0 @@ -From cdf3e81ff49b200213d67d65558f2919222b60ab Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Mon, 16 Dec 2019 11:39:11 +0000 -Subject: [PATCH] BookmarkModelMerger: Move RemoteTreeNode declaration to header. - -This fixes the build with libstdc++ after commit 8f5dad93e58 ("Fix CHECK -failure due to untracked local nodes"): - -/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/stl_pair.h:215:11: error: field has incomplete type 'sync_bookmarks::BookmarkModelMerger::RemoteTreeNode' - _T2 second; /// @c second is a copy of the second object - ^ -/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/ext/aligned_buffer.h:91:28: note: in instantiation of template class 'std::pair, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>' requested here - : std::aligned_storage - ^ -/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:233:43: note: in instantiation of template class '__gnu_cxx::__aligned_buffer, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >' requested here - __gnu_cxx::__aligned_buffer<_Value> _M_storage; - ^ -/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:264:39: note: in instantiation of template class 'std::__detail::_Hash_node_value_base, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >' requested here - struct _Hash_node<_Value, true> : _Hash_node_value_base<_Value> - ^ -/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:2028:25: note: in instantiation of template class 'std::__detail::_Hash_node, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, true>' requested here - rebind_traits; - ^ -/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable.h:184:15: note: in instantiation of template class 'std::__detail::_Hashtable_alloc, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, true> > > -' requested here - private __detail::_Hashtable_alloc< - ^ -/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/unordered_map.h:105:18: note: in instantiation of template class 'std::_Hashtable, std::pair, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, std::allocator, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >, std::__detail::_Select1st, std::equal_to >, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__deta -il::_Hashtable_traits >' requested here - _Hashtable _M_h; - ^ -../../components/sync_bookmarks/bookmark_model_merger.h:146:22: note: in instantiation of template class 'std::unordered_map, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode, std::hash, std::equal_to >, std::allocator, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> > >' requested here - const RemoteForest remote_forest_; - ^ -../../components/sync_bookmarks/bookmark_model_merger.h:53:9: note: forward declaration of 'sync_bookmarks::BookmarkModelMerger::RemoteTreeNode' - class RemoteTreeNode; - ^ - -Essentially, the problem is that libstdc++'s std::unordered_map -implementation requires both T and U to be fully declared. I raised the -problem in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92770, and GCC's -position is that we are relying on undefined behavior according to the C++ -standard (https://eel.is/c++draft/requirements#res.on.functions-2.5). - -Bug: 957519 -Change-Id: Ife7e435e516932a795bfbe05b2c910c3272878f0 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1960156 -Commit-Queue: Raphael Kubo da Costa -Reviewed-by: Mikel Astiz -Auto-Submit: Raphael Kubo da Costa -Cr-Commit-Position: refs/heads/master@{#725070} ---- - -diff --git a/components/sync_bookmarks/bookmark_model_merger.cc b/components/sync_bookmarks/bookmark_model_merger.cc -index eae153ef..579848e 100644 ---- a/components/sync_bookmarks/bookmark_model_merger.cc -+++ b/components/sync_bookmarks/bookmark_model_merger.cc -@@ -5,7 +5,6 @@ - #include "components/sync_bookmarks/bookmark_model_merger.h" - - #include --#include - #include - #include - #include -@@ -205,66 +204,44 @@ - - } // namespace - --class BookmarkModelMerger::RemoteTreeNode final { -- public: -- // Constructs a tree given |update| as root and recursively all descendants by -- // traversing |*updates_per_parent_id|. |update| and |updates_per_parent_id| -- // must not be null. All updates |*updates_per_parent_id| must represent valid -- // updates. Updates corresponding from descendant nodes are moved away from -- // |*updates_per_parent_id|. -- static RemoteTreeNode BuildTree( -- std::unique_ptr update, -- UpdatesPerParentId* updates_per_parent_id); -+BookmarkModelMerger::RemoteTreeNode::RemoteTreeNode() = default; - -- ~RemoteTreeNode() = default; -+BookmarkModelMerger::RemoteTreeNode::~RemoteTreeNode() = default; - -- // Allow moves, useful during construction. -- RemoteTreeNode(RemoteTreeNode&&) = default; -- RemoteTreeNode& operator=(RemoteTreeNode&&) = default; -+BookmarkModelMerger::RemoteTreeNode::RemoteTreeNode( -+ BookmarkModelMerger::RemoteTreeNode&&) = default; -+BookmarkModelMerger::RemoteTreeNode& BookmarkModelMerger::RemoteTreeNode:: -+operator=(BookmarkModelMerger::RemoteTreeNode&&) = default; - -- const syncer::EntityData& entity() const { return *update_->entity; } -- int64_t response_version() const { return update_->response_version; } -+void BookmarkModelMerger::RemoteTreeNode::EmplaceSelfAndDescendantsByGUID( -+ std::unordered_map* -+ guid_to_remote_node_map) const { -+ DCHECK(guid_to_remote_node_map); - -- // Direct children nodes, sorted by ascending unique position. These are -- // guaranteed to be valid updates (e.g. IsValidBookmarkSpecifics()). -- const std::vector& children() const { return children_; } -+ const std::string& guid = entity().specifics.bookmark().guid(); -+ if (!guid.empty()) { -+ DCHECK(base::IsValidGUID(guid)); - -- // Recursively emplaces all GUIDs (this node and descendants) into -- // |*guid_to_remote_node_map|, which must not be null. -- void EmplaceSelfAndDescendantsByGUID( -- std::unordered_map* -- guid_to_remote_node_map) const { -- DCHECK(guid_to_remote_node_map); -- -- const std::string& guid = entity().specifics.bookmark().guid(); -- if (!guid.empty()) { -- DCHECK(base::IsValidGUID(guid)); -- -- // Duplicate GUIDs have been sorted out before. -- bool success = guid_to_remote_node_map->emplace(guid, this).second; -- DCHECK(success); -- } -- -- for (const RemoteTreeNode& child : children_) { -- child.EmplaceSelfAndDescendantsByGUID(guid_to_remote_node_map); -- } -+ // Duplicate GUIDs have been sorted out before. -+ bool success = guid_to_remote_node_map->emplace(guid, this).second; -+ DCHECK(success); - } - -- private: -- static bool UniquePositionLessThan(const RemoteTreeNode& lhs, -- const RemoteTreeNode& rhs) { -- const syncer::UniquePosition a_pos = -- syncer::UniquePosition::FromProto(lhs.entity().unique_position); -- const syncer::UniquePosition b_pos = -- syncer::UniquePosition::FromProto(rhs.entity().unique_position); -- return a_pos.LessThan(b_pos); -+ for (const RemoteTreeNode& child : children_) { -+ child.EmplaceSelfAndDescendantsByGUID(guid_to_remote_node_map); - } -+} - -- RemoteTreeNode() = default; -- -- std::unique_ptr update_; -- std::vector children_; --}; -+// static -+bool BookmarkModelMerger::RemoteTreeNode::UniquePositionLessThan( -+ const RemoteTreeNode& lhs, -+ const RemoteTreeNode& rhs) { -+ const syncer::UniquePosition a_pos = -+ syncer::UniquePosition::FromProto(lhs.entity().unique_position); -+ const syncer::UniquePosition b_pos = -+ syncer::UniquePosition::FromProto(rhs.entity().unique_position); -+ return a_pos.LessThan(b_pos); -+} - - // static - BookmarkModelMerger::RemoteTreeNode -diff --git a/components/sync_bookmarks/bookmark_model_merger.h b/components/sync_bookmarks/bookmark_model_merger.h -index 9b59200..bf0783ec 100644 ---- a/components/sync_bookmarks/bookmark_model_merger.h -+++ b/components/sync_bookmarks/bookmark_model_merger.h -@@ -5,6 +5,7 @@ - #ifndef COMPONENTS_SYNC_BOOKMARKS_BOOKMARK_MODEL_MERGER_H_ - #define COMPONENTS_SYNC_BOOKMARKS_BOOKMARK_MODEL_MERGER_H_ - -+#include - #include - #include - #include -@@ -50,7 +51,52 @@ - - private: - // Internal representation of a remote tree, composed of nodes. -- class RemoteTreeNode; -+ class RemoteTreeNode final { -+ private: -+ using UpdatesPerParentId = -+ std::unordered_map; -+ -+ public: -+ // Constructs a tree given |update| as root and recursively all descendants -+ // by traversing |*updates_per_parent_id|. |update| and -+ // |updates_per_parent_id| must not be null. All updates -+ // |*updates_per_parent_id| must represent valid updates. Updates -+ // corresponding from descendant nodes are moved away from -+ // |*updates_per_parent_id|. -+ static RemoteTreeNode BuildTree( -+ std::unique_ptr update, -+ UpdatesPerParentId* updates_per_parent_id); -+ -+ ~RemoteTreeNode(); -+ -+ // Allow moves, useful during construction. -+ RemoteTreeNode(RemoteTreeNode&&); -+ RemoteTreeNode& operator=(RemoteTreeNode&&); -+ -+ const syncer::EntityData& entity() const { return *update_->entity; } -+ int64_t response_version() const { return update_->response_version; } -+ -+ // Direct children nodes, sorted by ascending unique position. These are -+ // guaranteed to be valid updates (e.g. IsValidBookmarkSpecifics()). -+ const std::vector& children() const { return children_; } -+ -+ // Recursively emplaces all GUIDs (this node and descendants) into -+ // |*guid_to_remote_node_map|, which must not be null. -+ void EmplaceSelfAndDescendantsByGUID( -+ std::unordered_map* -+ guid_to_remote_node_map) const; -+ -+ private: -+ static bool UniquePositionLessThan(const RemoteTreeNode& lhs, -+ const RemoteTreeNode& rhs); -+ -+ RemoteTreeNode(); -+ -+ std::unique_ptr update_; -+ std::vector children_; -+ }; - - // A forest composed of multiple trees where the root of each tree represents - // a permanent node, keyed by server-defined unique tag of the root. diff --git a/chromium-80-gcc-permissive.patch b/chromium-80-gcc-permissive.patch deleted file mode 100644 index c7aef49..0000000 --- a/chromium-80-gcc-permissive.patch +++ /dev/null @@ -1,33 +0,0 @@ -In file included from ../../media/base/media_log_properties.h:13, - from ../../media/base/media_log.h:23, - from ../../media/filters/frame_processor.h:15, - from ../../media/filters/frame_processor.cc:5: -../../media/base/media_log_properties_helper.h:86:8: error: extra qualification not allowed [-fpermissive] - 86 | struct internal::MediaLogPropertyTypeConverter { - | ^~~~~~~~ -../../media/base/media_log_properties_helper.h:86:75: error: explicit specialization of non-template 'media::internal::' - 86 | struct internal::MediaLogPropertyTypeConverter { - | ^ - -diff --git a/media/base/media_log_properties_helper.h b/media/base/media_log_properties_helper.h -index 95ff70a..549b003 100644 ---- a/media/base/media_log_properties_helper.h -+++ b/media/base/media_log_properties_helper.h -@@ -83,7 +83,7 @@ struct MediaLogPropertyTypeConverter> { - - // Specializer for sending AudioDecoderConfigs to the media tab in devtools. - template <> --struct internal::MediaLogPropertyTypeConverter { -+struct MediaLogPropertyTypeConverter { - static base::Value Convert(const AudioDecoderConfig& value) { - base::Value result(base::Value::Type::DICTIONARY); - result.SetStringKey("codec", GetCodecName(value.codec())); -@@ -114,7 +114,7 @@ struct internal::MediaLogPropertyTypeConverter { - - // Specializer for sending VideoDecoderConfigs to the media tab in devtools. - template <> --struct internal::MediaLogPropertyTypeConverter { -+struct MediaLogPropertyTypeConverter { - static base::Value Convert(const VideoDecoderConfig& value) { - base::Value result(base::Value::Type::DICTIONARY); - result.SetStringKey("codec", GetCodecName(value.codec())); diff --git a/chromium-80-include.patch b/chromium-80-include.patch deleted file mode 100644 index dd85de7..0000000 --- a/chromium-80-include.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 8273f4d3130e06fd8b6bef87b07c936304b971d9 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Tue, 10 Dec 2019 20:59:57 +0000 -Subject: [PATCH] [cros search service]: Include for std::pow() - -IWYU. Follow up to commit 2b2ea3c09b ("[cros search service] Move shared -string matching functions to //chrome"), which broke the libstdc++ build: - - ../../chrome/common/string_matching/fuzzy_tokenized_string_match.cc:199:14: error: no member named 'pow' in namespace 'std' - std::pow(partial_match_penalty_rate, long_start - current - 1); - ~~~~~^ - -Bug: 957519 -Change-Id: I66f61cb4f93cfa0bfa3d1b00ba391ddd8f31a7fb -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1960310 -Auto-Submit: Raphael Kubo da Costa -Reviewed-by: Jia Meng -Commit-Queue: Raphael Kubo da Costa -Cr-Commit-Position: refs/heads/master@{#723499} ---- - -diff --git a/chrome/common/string_matching/fuzzy_tokenized_string_match.cc b/chrome/common/string_matching/fuzzy_tokenized_string_match.cc -index 8351fa7..884ef63 100644 ---- a/chrome/common/string_matching/fuzzy_tokenized_string_match.cc -+++ b/chrome/common/string_matching/fuzzy_tokenized_string_match.cc -@@ -5,6 +5,7 @@ - #include "chrome/common/string_matching/fuzzy_tokenized_string_match.h" - - #include -+#include - #include - - #include "base/i18n/case_conversion.h" diff --git a/chromium-81.0.4044.92-disable-fontconfig-cache-magic.patch b/chromium-81.0.4044.92-disable-fontconfig-cache-magic.patch new file mode 100644 index 0000000..6f5c23b --- /dev/null +++ b/chromium-81.0.4044.92-disable-fontconfig-cache-magic.patch @@ -0,0 +1,13 @@ +diff -up chromium-81.0.4044.92/base/test/BUILD.gn.nofontconfigcache chromium-81.0.4044.92/base/test/BUILD.gn +--- chromium-81.0.4044.92/base/test/BUILD.gn.nofontconfigcache 2020-04-13 12:06:59.233796815 -0400 ++++ chromium-81.0.4044.92/base/test/BUILD.gn 2020-04-13 12:20:16.302174851 -0400 +@@ -245,9 +245,6 @@ static_library("test_support") { + if (is_linux) { + public_deps += [ ":fontconfig_util_linux" ] + data_deps = [ "//third_party/test_fonts" ] +- if (current_toolchain == host_toolchain) { +- data_deps += [ ":do_generate_fontconfig_caches" ] +- } + } + + if (is_ios) { diff --git a/chromium-81.0.4044.92-norar.patch b/chromium-81.0.4044.92-norar.patch new file mode 100644 index 0000000..8508030 --- /dev/null +++ b/chromium-81.0.4044.92-norar.patch @@ -0,0 +1,79 @@ +diff -up chromium-81.0.4044.92/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-81.0.4044.92/chrome/common/safe_browsing/BUILD.gn +--- chromium-81.0.4044.92/chrome/common/safe_browsing/BUILD.gn.nounrar 2020-04-13 12:01:29.703428516 -0400 ++++ chromium-81.0.4044.92/chrome/common/safe_browsing/BUILD.gn 2020-04-13 12:03:33.653310203 -0400 +@@ -72,39 +72,6 @@ if (safe_browsing_mode == 1) { + public_deps = [ "//components/safe_browsing/core:csd_proto" ] + } + +- source_set("rar_analyzer") { +- sources = [ +- "rar_analyzer.cc", +- "rar_analyzer.h", +- ] +- +- deps = [ +- ":archive_analyzer_results", +- ":download_type_util", +- ":file_type_policies", +- "//base", +- "//base:i18n", +- "//components/safe_browsing/core:features", +- "//third_party/unrar:unrar", +- ] +- +- defines = [ +- "_FILE_OFFSET_BITS=64", +- "LARGEFILE_SOURCE", +- "RAR_SMP", +- "SILENT", +- +- # The following is set to disable certain macro definitions in the unrar +- # source code. +- "CHROMIUM_UNRAR", +- +- # Disables exceptions in unrar, replaces them with process termination. +- "UNRAR_NO_EXCEPTIONS", +- ] +- +- public_deps = [ "//components/safe_browsing/core:csd_proto" ] +- } +- + source_set("disk_image_type_sniffer_mac") { + sources = [ + "disk_image_type_sniffer_mac.cc", +@@ -171,7 +138,6 @@ source_set("safe_browsing") { + ":archive_analyzer_results", + ":binary_feature_extractor", + ":download_type_util", +- ":rar_analyzer", + "//components/safe_browsing/core:features", + ] + +diff -up chromium-81.0.4044.92/chrome/common/safe_browsing/DEPS.nounrar chromium-81.0.4044.92/chrome/common/safe_browsing/DEPS +--- chromium-81.0.4044.92/chrome/common/safe_browsing/DEPS.nounrar 2020-04-03 00:10:40.000000000 -0400 ++++ chromium-81.0.4044.92/chrome/common/safe_browsing/DEPS 2020-04-13 12:01:29.703428516 -0400 +@@ -1,6 +1,5 @@ + include_rules = [ + "+components/safe_browsing", + "+third_party/protobuf", +- "+third_party/unrar", + "+third_party/zlib", + ] +diff -up chromium-81.0.4044.92/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-81.0.4044.92/chrome/services/file_util/safe_archive_analyzer.cc +--- chromium-81.0.4044.92/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2020-04-03 00:10:40.000000000 -0400 ++++ chromium-81.0.4044.92/chrome/services/file_util/safe_archive_analyzer.cc 2020-04-13 12:01:29.703428516 -0400 +@@ -46,10 +46,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile + void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file, + base::File temporary_file, + AnalyzeRarFileCallback callback) { ++#if 0 + DCHECK(rar_file.IsValid()); + + safe_browsing::ArchiveAnalyzerResults results; + safe_browsing::rar_analyzer::AnalyzeRarFile( + std::move(rar_file), std::move(temporary_file), &results); + std::move(callback).Run(results); ++#else ++ NOTREACHED(); ++#endif + } diff --git a/chromium-81.0.4044.92-unbundle-zlib.patch b/chromium-81.0.4044.92-unbundle-zlib.patch new file mode 100644 index 0000000..ff4e3b1 --- /dev/null +++ b/chromium-81.0.4044.92-unbundle-zlib.patch @@ -0,0 +1,12 @@ +diff -up chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn.unbundle-zlib chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn +--- chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn.unbundle-zlib 2020-04-13 12:25:09.001172601 -0400 ++++ chromium-81.0.4044.92/third_party/perfetto/gn/BUILD.gn 2020-04-13 12:25:23.688921586 -0400 +@@ -294,7 +294,7 @@ if (enable_perfetto_zlib) { + public_configs = [ "//buildtools:zlib_config" ] + public_deps = [ "//buildtools:zlib" ] + } else { +- public_configs = [ "//third_party/zlib:zlib_config" ] ++ public_configs = [ "//third_party/zlib:system_zlib" ] + public_deps = [ "//third_party/zlib" ] + } + } diff --git a/chromium.spec b/chromium.spec index 73c4305..7947002 100644 --- a/chromium.spec +++ b/chromium.spec @@ -151,14 +151,14 @@ BuildRequires: libicu-devel >= 5.4 %global chromoting_client_id %nil %endif -%global majorversion 80 +%global majorversion 81 %if %{freeworld} Name: chromium%{chromium_channel}%{nsuffix} %else Name: chromium%{chromium_channel} %endif -Version: %{majorversion}.0.3987.163 +Version: %{majorversion}.0.4044.92 Release: 1%{?dist} %if %{?freeworld} %if %{?shared} @@ -191,12 +191,12 @@ Patch5: chromium-60.0.3112.78-jpeg-nomangle.patch # Do not mangle zlib Patch6: chromium-77.0.3865.75-no-zlib-mangle.patch # Do not use unrar code, it is non-free -Patch7: chromium-73.0.3683.75-norar.patch +Patch7: chromium-81.0.4044.92-norar.patch # Use Gentoo's Widevine hack # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-widevine-r3.patch Patch8: chromium-71.0.3578.98-widevine-r3.patch # Disable fontconfig cache magic that breaks remoting -Patch9: chromium-70.0.3538.67-disable-fontconfig-cache-magic.patch +Patch9: chromium-81.0.4044.92-disable-fontconfig-cache-magic.patch # drop rsp clobber, which breaks gcc9 (thanks to Jeff Law) Patch10: chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch # Try to load widevine from other places @@ -212,7 +212,7 @@ Patch51: chromium-76.0.3809.100-gcc-remoting-constexpr.patch # Needs to be submitted.. (ugly hack, needs to be added properly to GN files) Patch52: chromium-78.0.3904.70-vtable-symbol-undefined.patch # https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch -Patch53: chromium-78.0.3904.70-unbundle-zlib.patch +Patch53: chromium-81.0.4044.92-unbundle-zlib.patch # Needs to be submitted.. Patch54: chromium-77.0.3865.75-gcc-include-memory.patch # https://chromium.googlesource.com/chromium/src/+/6b633c4b14850df376d5cec571699018772f358e @@ -224,16 +224,8 @@ Patch57: chromium-78-protobuf-export.patch Patch59: chromium-77-clang.patch # /../../ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc:53:15: error: 'find_if' is not a member of 'std'; did you mean 'find'? Patch63: chromium-79.0.3945.56-fix-find_if.patch -# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-80-gcc-incomplete-type.patch -Patch65: chromium-80-gcc-incomplete-type.patch -# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-80-include.patch -Patch66: chromium-80-include.patch -# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-80-gcc-abstract.patch -Patch67: chromium-80-gcc-abstract.patch # https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-80-gcc-blink.patch Patch68: chromium-80-gcc-blink.patch -# https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-80-gcc-permissive.patch -Patch69: chromium-80-gcc-permissive.patch # https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-80-gcc-quiche.patch Patch70: chromium-80-gcc-quiche.patch # ../../base/trace_event/trace_event_memory_overhead.h:15:1: note: 'std::string' is defined in header ''; did you forget to '#include '? @@ -659,6 +651,22 @@ Provides: bundled(xdg-user-dirs) # For selinux scriptlet Requires(post): /usr/sbin/semanage Requires(post): /usr/sbin/restorecon +%if %{?shared} +# Do nothing +%else +Provides: chromium-libs = %{version}-%{release} +Obsoletes: chromium-libs <= %{version}-%{release} +Provides: chromium-libs-media = %{version}-%{release} +Obsoletes: chromium-libs-media <= %{version}-%{release} +# This may not actually be true (depending on how freeworld is set). But what +# is definite here is that if we're upgrading from a shared build to a static +# build none of the shared subpackages (or replacement packages) will work at +# all and without these provides/obsoletes, the upgrade transaction will fail. +# Since we have no way of conditionalizing whether the user has the freeworld +# replacement, we just assume they do. +Provides: chromium-libs-media-freeworld = %{version}-%{release} +Obsoletes: chromium-libs-media-freeworld <= %{version}-%{release} +%endif %if %{?freeworld} %if %{?shared} @@ -783,11 +791,7 @@ udev. %patch57 -p1 -b .protobuf-export %patch59 -p1 -b .clang-supports-location-builtins %patch63 -p1 -b .fix-find_if -%patch65 -p1 -b .gcc-incomplete-type -%patch66 -p1 -b .includefix -%patch67 -p1 -b .gcc-abstract %patch68 -p1 -b .gcc-blink -%patch69 -p1 -b .gcc-permissive %patch70 -p1 -b .gcc-quiche %patch71 -p1 -b .missing-string %patch72 -p1 -b .missing-cstdint @@ -1295,6 +1299,9 @@ FILE=chrome/common/channel_info_posix.cc sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' $FILE %build +# Turning the buildsystem up to 11. +ulimit -n 4096 + %if 0%{?rhel} == 7 . /opt/rh/devtoolset-%{dts_version}/enable %endif @@ -1497,10 +1504,10 @@ mkdir -p %{buildroot}%{chromium_path}/PepperFlash # Set SELinux labels - semanage itself will adjust the lib directory naming # But only do it when selinux is enabled, otherwise, it gets noisy. if selinuxenabled; then - semanage fcontext -a -t bin_t /usr/lib/%{chromium_browser_channel} - semanage fcontext -a -t bin_t /usr/lib/%{chromium_browser_channel}/%{chromium_browser_channel}.sh - semanage fcontext -a -t chrome_sandbox_exec_t /usr/lib/chrome-sandbox - restorecon -R -v %{chromium_path}/%{chromium_browser_channel} + semanage fcontext -a -t bin_t /usr/lib/%{chromium_browser_channel} &>/dev/null || : + semanage fcontext -a -t bin_t /usr/lib/%{chromium_browser_channel}/%{chromium_browser_channel}.sh &>/dev/null || : + semanage fcontext -a -t chrome_sandbox_exec_t /usr/lib/chrome-sandbox &>/dev/null || : + restorecon -R -v %{chromium_path}/%{chromium_browser_channel} &>/dev/null || : fi %pretrans -n chrome-remote-desktop -p @@ -1720,6 +1727,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %changelog +* Mon Apr 13 2020 Tom Callaway - 81.0.4044.92-1 +- update to 81.0.4044.92 +- squelch the selinux output in the post scriptlet +- add Provides/Obsoletes in case we're build with shared set to 0 +- add ulimit -n 4096 (needed for static builds, probably not harmful for shared builds either) + * Sat Apr 4 2020 Tom Callaway - 80.0.3987.163-1 - update to 80.0.3987.163 diff --git a/enable-vaapi.patch b/enable-vaapi.patch index 1dd612a..f31122a 100644 --- a/enable-vaapi.patch +++ b/enable-vaapi.patch @@ -1,20 +1,7 @@ -From e04b52fc9b12f0725e76b889161ea45c776e6da5 Mon Sep 17 00:00:00 2001 -From: Akarshan Biswas -Date: Fri, 20 Sep 2019 19:55:45 +0530 -Subject: [PATCH] Enable VAAPI on Linux - ---- - chrome/browser/about_flags.cc | 8 ++++---- - chrome/browser/flag_descriptions.cc | 9 ++++++--- - chrome/browser/flag_descriptions.h | 10 ++++++++-- - gpu/config/software_rendering_list.json | 3 ++- - 4 files changed, 20 insertions(+), 10 deletions(-) - -diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc -index e608f06a2..c0776db45 100644 ---- a/chrome/browser/about_flags.cc -+++ b/chrome/browser/about_flags.cc -@@ -1738,7 +1738,7 @@ const FeatureEntry kFeatureEntries[] = { +diff -up chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi chromium-81.0.4044.92/chrome/browser/about_flags.cc +--- chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi 2020-04-03 00:11:28.000000000 -0400 ++++ chromium-81.0.4044.92/chrome/browser/about_flags.cc 2020-04-13 15:09:02.982509507 -0400 +@@ -1920,7 +1920,7 @@ const FeatureEntry kFeatureEntries[] = { "disable-accelerated-video-decode", flag_descriptions::kAcceleratedVideoDecodeName, flag_descriptions::kAcceleratedVideoDecodeDescription, @@ -23,7 +10,7 @@ index e608f06a2..c0776db45 100644 SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), }, { -@@ -2216,12 +2216,12 @@ const FeatureEntry kFeatureEntries[] = { +@@ -2352,12 +2352,12 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, #endif // !defined(OS_ANDROID) #endif // ENABLE_VR @@ -39,11 +26,10 @@ index e608f06a2..c0776db45 100644 {"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName, flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)}, -diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc -index d27bbb28f..1c6542bdd 100644 ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -3071,16 +3071,19 @@ const char kMacSystemMediaPermissionsInfoUiDescription[] = +diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc.vaapi chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc +--- chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc.vaapi 2020-04-03 00:11:29.000000000 -0400 ++++ chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc 2020-04-13 15:09:02.983509488 -0400 +@@ -2999,16 +2999,19 @@ const char kMetalDescription[] = #endif @@ -66,11 +52,10 @@ index d27bbb28f..1c6542bdd 100644 const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML."; const char kAggregatedMlAppRankingDescription[] = "Use the aggregated ML model to rank the suggested apps."; -diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h -index 1f8899de1..06544e079 100644 ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -1822,13 +1822,19 @@ extern const char kPermissionPromptPersistenceToggleDescription[]; +diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.h.vaapi chromium-81.0.4044.92/chrome/browser/flag_descriptions.h +--- chromium-81.0.4044.92/chrome/browser/flag_descriptions.h.vaapi 2020-04-03 00:11:29.000000000 -0400 ++++ chromium-81.0.4044.92/chrome/browser/flag_descriptions.h 2020-04-13 15:09:02.983509488 -0400 +@@ -1730,13 +1730,19 @@ extern const char kMetalDescription[]; #endif // defined(OS_MACOSX) @@ -92,24 +77,20 @@ index 1f8899de1..06544e079 100644 extern const char kAggregatedMlAppRankingName[]; extern const char kAggregatedMlAppRankingDescription[]; -diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json -index ea1294e4c..bc52cbc8f 100644 ---- a/gpu/config/software_rendering_list.json -+++ b/gpu/config/software_rendering_list.json -@@ -334,11 +334,12 @@ +diff -up chromium-81.0.4044.92/gpu/config/software_rendering_list.json.vaapi chromium-81.0.4044.92/gpu/config/software_rendering_list.json +--- chromium-81.0.4044.92/gpu/config/software_rendering_list.json.vaapi 2020-04-13 15:09:02.988509396 -0400 ++++ chromium-81.0.4044.92/gpu/config/software_rendering_list.json 2020-04-13 15:19:03.380353582 -0400 +@@ -337,11 +337,12 @@ }, { "id": 48, - "description": "Accelerated video decode is unavailable on Linux", + "description": "Accelerated VA-API video decode is not supported on NVIDIA platforms", - "cr_bugs": [137247], + "cr_bugs": [137247, 1032907], "os": { "type": "linux" }, -+ "vendor_id": "0x10de", - "features": [ - "accelerated_video_decode" - ] --- -2.21.0 - ++ "vendor_id": "0x10de", + "exceptions": [ + { + "machine_model_name": ["Chromecast"] diff --git a/sources b/sources index 74eae81..65c25dd 100644 --- a/sources +++ b/sources @@ -17,4 +17,4 @@ SHA512 (Tinos-Italic.ttf) = d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0 SHA512 (Tinos-Regular.ttf) = 58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f SHA512 (Ahem.ttf) = aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd SHA512 (node-v10.15.3-linux-x64.tar.gz) = 5eb544ef706562981340a82acc79e2162c6a3e4049b4a95f69ce353ee5b0f929c60b1fc457e8249b3fb0696f82fc28c5f543f5947db19fae4e9d5c21b906bb20 -SHA512 (chromium-80.0.3987.163-clean.tar.xz) = 3649ae457b49c1d2d1a770da670bdd601e3ed15d3596df6b5d9b2ec83f996dfffa0c95321267ba608b390ed6c1ef10f6097ec67c825a980b2546fc9d84bdac05 +SHA512 (chromium-81.0.4044.92-clean.tar.xz) = e6febde53531fecf40b26bcb0c3055ede710901a4ddeba7001dc2317c9eb66159d79c607353696cb2ffbe0da96fbcabcb98430fd55a9a629813ef1a4b7dbb4c1