Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/chromium/, www-client/chromium/files/
Date: Sun, 29 Sep 2019 21:24:25
Message-Id: 1569792239.6b89e0d09ed3f133a3ae77bf46a0fe7bcdbc092e.floppym@gentoo
commit:     6b89e0d09ed3f133a3ae77bf46a0fe7bcdbc092e
Author:     Stephan Hartmann <stha09 <AT> googlemail <DOT> com>
AuthorDate: Sat Sep 28 18:08:47 2019 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Sep 29 21:23:59 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b89e0d0

www-client/chromium: beta channel bump (78.0.3904.34)

Closes: https://bugs.gentoo.org/694896
Closes: https://github.com/gentoo/gentoo/pull/13077
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Stephan Hartmann <stha09 <AT> googlemail.com>
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 www-client/chromium/Manifest                       |  4 +-
 ....3887.7.ebuild => chromium-78.0.3904.34.ebuild} | 18 ++++-
 .../files/chromium-78-gcc-enum-range.patch         | 46 ++++++++++++
 .../chromium/files/chromium-78-gcc-noexcept.patch  | 32 ++++++++
 .../files/chromium-78-gcc-std-vector.patch         | 87 ++++++++++++++++++++++
 .../chromium/files/chromium-78-include.patch       | 32 +++++---
 .../chromium/files/chromium-unbundle-zlib-r1.patch | 13 ++++
 7 files changed, 217 insertions(+), 15 deletions(-)

diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 8b478908b01..673fdc0d93b 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,2 +1,4 @@
 DIST chromium-77.0.3865.90.tar.xz 729551228 BLAKE2B 865a40a7fa7d6a0b2de137249f7f14dad32b30cb0099fccc0d21570a2488834c5ab6504ef7c63f334e5d798de5391d6e96beaa49009caecb178d898e27317d89 SHA512 8b343c6ccc798c74cca8d5d41285153ace917da28360192afb21925c103ba425a4045f75c589f73a8c5c75bd1bbca44bfae1a4b96e9b7a97636d9929c7961bbc
-DIST chromium-78.0.3887.7.tar.xz 737057024 BLAKE2B b4754f1fa9a243c29e83d6136494c6db1726a6d3f23013115a4a576428f7ca3c0fcd3f81cf7fe4037f2c3e6901b3fce015aeed7b7b945b4a3e368f2e6fb9afa1 SHA512 9b8eb33c6f19e5b247372e19a61ec1ae6c804bd7b9731222430e2e1b585146fc543a686ccfc9553d6d137999570c544cdb45696db6ce50c38dfead1b0760c1a4
+DIST chromium-78-revert-noexcept.patch 69206 BLAKE2B c0cbcd9cf4ca1d22afb0deb90ca0e208abc4853ec0430ded105c76488af38df7fba696531a1b597efb8ffe3f8c9352bf47bfc364db3ffff0f6ccb726bb7e1f94 SHA512 13ab086b40f246fd7397c3f44663e69dd3c996beb657d7c06d1af0730be90135c1097ec555e384a76add4034f69e8bfe23de4d69900df4c67dc6b383d6c3708d
+DIST chromium-78-revert-pm-observer.patch 22149 BLAKE2B d0169db31948a0a11930d23dbb1fd6573525218a795fe57702cdc6bfef87ce3ab856f8429f5bc9751bf6c96750ad3ed16ce22a4e8be1c57a183da30ca4b56d84 SHA512 68b4558226264aa04af265f7fd42c7319f1cd483d249ad53244efa9d640d99bfb97d39aa8a3e395e1ece4384092b21f7c27d635bc0f3a9f0ba6ddd2f38f4dbae
+DIST chromium-78.0.3904.34.tar.xz 741873348 BLAKE2B 4cf6d35548a41c44dca3dbf9275ac1fe09e6ce3108b7b4bc3b90034e4780456ae399ea368ed67ef3cce9cd3b00265ddfd765da837214a51437d333c288ba1e7e SHA512 d1c7b75fc2b4e5acbb89f9044a87e678db4ad99e805448716daf0227d8760b02d08b090ff3dbbb2f3aad5f7a1c488a59345cf209cb609cca6781b8e3353e1f32

diff --git a/www-client/chromium/chromium-78.0.3887.7.ebuild b/www-client/chromium/chromium-78.0.3904.34.ebuild
similarity index 97%
rename from www-client/chromium/chromium-78.0.3887.7.ebuild
rename to www-client/chromium/chromium-78.0.3904.34.ebuild
index e8fb43a9ec7..2e268516462 100644
--- a/www-client/chromium/chromium-78.0.3887.7.ebuild
+++ b/www-client/chromium/chromium-78.0.3904.34.ebuild
@@ -12,7 +12,10 @@ inherit check-reqs chromium-2 desktop flag-o-matic multilib ninja-utils pax-util
 
 DESCRIPTION="Open-source version of Google Chrome web browser"
 HOMEPAGE="http://chromium.org/"
-SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz"
+SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz
+	https://dev.gentoo.org/~floppym/dist/chromium-78-revert-noexcept.patch
+	https://dev.gentoo.org/~floppym/dist/chromium-78-revert-pm-observer.patch
+"
 
 LICENSE="BSD"
 SLOT="0"
@@ -143,11 +146,16 @@ PATCHES=(
 	"${FILESDIR}/chromium-compiler-r10.patch"
 	"${FILESDIR}/chromium-widevine-r4.patch"
 	"${FILESDIR}/chromium-fix-char_traits.patch"
-	"${FILESDIR}/chromium-unbundle-zlib.patch"
-	"${FILESDIR}/chromium-77-fix-gn-gen.patch"
+	"${FILESDIR}/chromium-unbundle-zlib-r1.patch"
 	"${FILESDIR}/chromium-77-system-icu.patch"
 	"${FILESDIR}/chromium-77-clang.patch"
+	"${FILESDIR}/chromium-77-pulseaudio-13.patch"
 	"${FILESDIR}/chromium-78-include.patch"
+	"${DISTDIR}/chromium-78-revert-noexcept.patch"
+	"${DISTDIR}/chromium-78-revert-pm-observer.patch"
+	"${FILESDIR}/chromium-78-gcc-enum-range.patch"
+	"${FILESDIR}/chromium-78-gcc-std-vector.patch"
+	"${FILESDIR}/chromium-78-gcc-noexcept.patch"
 )
 
 pre_build_checks() {
@@ -191,7 +199,7 @@ src_prepare() {
 
 	local keeplibs=(
 		base/third_party/cityhash
-		base/third_party/dmg_fp
+		base/third_party/double_conversion
 		base/third_party/dynamic_annotations
 		base/third_party/icu
 		base/third_party/nspr
@@ -259,6 +267,7 @@ src_prepare() {
 		third_party/cros_system_api
 		third_party/dav1d
 		third_party/dawn
+		third_party/depot_tools
 		third_party/devscripts
 		third_party/dom_distiller_js
 		third_party/emoji-segmenter
@@ -414,6 +423,7 @@ src_configure() {
 		myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
 	else
 		myconf_gn+=" is_clang=false"
+		append-cxxflags -fpermissive
 	fi
 
 	# Define a custom toolchain for GN

diff --git a/www-client/chromium/files/chromium-78-gcc-enum-range.patch b/www-client/chromium/files/chromium-78-gcc-enum-range.patch
new file mode 100644
index 00000000000..9c15e954b4e
--- /dev/null
+++ b/www-client/chromium/files/chromium-78-gcc-enum-range.patch
@@ -0,0 +1,46 @@
+From 9662ec844017690d5fd56bf0f05ef6a540dd29c1 Mon Sep 17 00:00:00 2001
+From: Tom Anderson <thomasanderson@××××××××.org>
+Date: Mon, 09 Sep 2019 19:06:01 +0000
+Subject: [PATCH] Fix GCC build error
+
+Fixes this error:
+[  375s] In file included from ../../base/task/common/intrusive_heap.h:8,
+[  375s]                  from ../../base/task/thread_pool/task_source.h:17,
+[  375s]                  from ../../base/task/thread_pool/task_tracker.h:27,
+[  375s]                  from ./../../base/task/thread_pool/service_thread.cc:14,
+[  375s]                  from gen/base/base_jumbo_28.cc:5:
+[  375s] ../../base/containers/intrusive_heap.h:152:36: error: enumerator value
+         '-1' is outside the range of underlying type 'size_t' {aka 'long unsigned int'}
+[  375s]   152 |   enum : size_t { kInvalidIndex = -1 };
+[  375s]       |
+
+Change-Id: I6044fb704931b2f8416f6b19a247ae297cd7b0d6
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1792763
+Commit-Queue: Thomas Anderson <thomasanderson@××××××××.org>
+Commit-Queue: Lei Zhang <thestig@××××××××.org>
+Reviewed-by: Lei Zhang <thestig@××××××××.org>
+Auto-Submit: Thomas Anderson <thomasanderson@××××××××.org>
+Cr-Commit-Position: refs/heads/master@{#694853}
+---
+
+diff --git a/base/containers/intrusive_heap.h b/base/containers/intrusive_heap.h
+index 53d3909..d7626bb 100644
+--- a/base/containers/intrusive_heap.h
++++ b/base/containers/intrusive_heap.h
+@@ -131,6 +131,7 @@
+ 
+ #include <algorithm>
+ #include <functional>
++#include <limits>
+ #include <type_traits>
+ #include <utility>
+ #include <vector>
+@@ -149,7 +150,7 @@
+ // in place.
+ class BASE_EXPORT HeapHandle {
+  public:
+-  enum : size_t { kInvalidIndex = -1 };
++  enum : size_t { kInvalidIndex = std::numeric_limits<size_t>::max() };
+ 
+   constexpr HeapHandle() = default;
+   constexpr HeapHandle(const HeapHandle& other) = default;

diff --git a/www-client/chromium/files/chromium-78-gcc-noexcept.patch b/www-client/chromium/files/chromium-78-gcc-noexcept.patch
new file mode 100644
index 00000000000..8ddb53fe82d
--- /dev/null
+++ b/www-client/chromium/files/chromium-78-gcc-noexcept.patch
@@ -0,0 +1,32 @@
+From d16cda8fc3476cc534a756873cc8aa2692a57054 Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena@×××.com>
+Date: Thu, 22 Aug 2019 13:13:36 +0200
+Subject: [PATCH] GCC: declare noexcept move constructor/assign operators of V8StackTraceId
+
+blink::BlinkCloneableMessage declares default implementation of
+move operator/assign operator that requires v8_inspector::V8StackTraceId
+to declare its move constructor/assign operator too.
+
+Bug: chromium:819294
+Change-Id: Iaf626ee8245efcba372a17cdf2de448e691d41d6
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1796062
+Commit-Queue: José Dapena Paz <jose.dapena@×××.com>
+Reviewed-by: Yang Guo <yangguo@××××××××.org>
+Cr-Commit-Position: refs/heads/master@{#63799}
+---
+
+diff --git a/v8/include/v8-inspector.h b/v8/include/v8-inspector.h
+index ce5b777..ed4cdec 100644
+--- a/v8/include/v8-inspector.h
++++ b/v8/include/v8-inspector.h
+@@ -231,7 +231,10 @@ struct V8_EXPORT V8StackTraceId {
+   std::pair<int64_t, int64_t> debugger_id;
+ 
+   V8StackTraceId();
++  V8StackTraceId(const V8StackTraceId&) = default;
+   V8StackTraceId(uintptr_t id, const std::pair<int64_t, int64_t> debugger_id);
++  V8StackTraceId& operator=(const V8StackTraceId&) = default;
++  V8StackTraceId& operator=(V8StackTraceId&&) noexcept = default;
+   ~V8StackTraceId() = default;
+ 
+   bool IsInvalid() const;

diff --git a/www-client/chromium/files/chromium-78-gcc-std-vector.patch b/www-client/chromium/files/chromium-78-gcc-std-vector.patch
new file mode 100644
index 00000000000..cf1abf06b5a
--- /dev/null
+++ b/www-client/chromium/files/chromium-78-gcc-std-vector.patch
@@ -0,0 +1,87 @@
+From f4c3c329588b78af63aad8b401da767242b86709 Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa@×××××.com>
+Date: Mon, 16 Sep 2019 17:05:42 +0000
+Subject: [PATCH] dns_util: Make DohUpgradeEntry non-const when used with std::vector<>
+
+This fixes the build with libstdc++ (with most other standard libraries
+other than libc++, in fact) after commit f93a48e3 ("Allow upgrade to DoH
+during automatic mode"):
+
+../../../../../../usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/stl_vector.h:351:7: error: static_assert failed due to requirement 'is_same<typename remove_cv<const DohUpgradeEntry>::type, const DohUpgradeEntry>::value' "std::vector must have a non-const, non-volatile value_type"
+      static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
+      ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../base/no_destructor.h:77:28: note: in instantiation of template class 'std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >' requested here
+  alignas(T) char storage_[sizeof(T)];
+                           ^
+../../net/dns/dns_util.cc:147:7: note: in instantiation of template class 'base::NoDestructor<std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> > >' requested here
+      upgradable_servers({
+      ^
+../../net/dns/dns_util.cc:230:36: error: invalid range expression of type 'const std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >'; no viable 'begin' function available
+    for (const auto& upgrade_entry : upgradable_servers) {
+                                   ^ ~~~~~~~~~~~~~~~~~~
+
+The C++ standard forbids containers of const elements. Callers of
+GetDohUpgradeList() use it in a safe way anyway, and most of
+DohUpgradeEntry's members are const.
+
+(Added gcc specific workaround)
+
+Bug: 957519
+Change-Id: I826a51823edb1184c0fae27105101e2894efe568
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1805636
+Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@×××××.com>
+Commit-Queue: Eric Orth <ericorth@××××××××.org>
+Reviewed-by: Eric Orth <ericorth@××××××××.org>
+Cr-Commit-Position: refs/heads/master@{#696834}
+---
+
+diff --git a/net/dns/dns_util.cc b/net/dns/dns_util.cc
+index d83ff7c..14997c4 100644
+--- a/net/dns/dns_util.cc
++++ b/net/dns/dns_util.cc
+@@ -139,12 +139,12 @@ struct DohUpgradeEntry {
+   const DnsConfig::DnsOverHttpsServerConfig dns_over_https_config;
+ };
+ 
+-const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() {
++const std::vector<DohUpgradeEntry>& GetDohUpgradeList() {
+   // The provider names in these entries should be kept in sync with the
+   // DohProviderId histogram suffix list in
+   // tools/metrics/histograms/histograms.xml.
+-  static const base::NoDestructor<std::vector<const DohUpgradeEntry>>
+-      upgradable_servers({
++  static const base::NoDestructor<std::vector<DohUpgradeEntry>>
++      upgradable_servers(std::initializer_list<DohUpgradeEntry>{
+           DohUpgradeEntry(
+               "CleanBrowsingAdult",
+               {"185.228.168.10", "185.228.169.11", "2a0d:2a00:1::1",
+@@ -222,8 +222,7 @@ const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() {
+ std::vector<const DohUpgradeEntry*> GetDohUpgradeEntriesFromNameservers(
+     const std::vector<IPEndPoint>& dns_servers,
+     const std::vector<std::string>& excluded_providers) {
+-  const std::vector<const DohUpgradeEntry>& upgradable_servers =
+-      GetDohUpgradeList();
++  const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
+   std::vector<const DohUpgradeEntry*> entries;
+ 
+   for (const auto& server : dns_servers) {
+@@ -417,8 +416,7 @@ std::vector<DnsConfig::DnsOverHttpsServerConfig>
+ GetDohUpgradeServersFromDotHostname(
+     const std::string& dot_server,
+     const std::vector<std::string>& excluded_providers) {
+-  const std::vector<const DohUpgradeEntry>& upgradable_servers =
+-      GetDohUpgradeList();
++  const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
+   std::vector<DnsConfig::DnsOverHttpsServerConfig> doh_servers;
+ 
+   if (dot_server.empty())
+@@ -451,8 +449,7 @@ GetDohUpgradeServersFromNameservers(
+ 
+ std::string GetDohProviderIdForHistogramFromDohConfig(
+     const DnsConfig::DnsOverHttpsServerConfig& doh_server) {
+-  const std::vector<const DohUpgradeEntry>& upgradable_servers =
+-      GetDohUpgradeList();
++  const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
+   for (const auto& upgrade_entry : upgradable_servers) {
+     if (doh_server.server_template ==
+         upgrade_entry.dns_over_https_config.server_template) {

diff --git a/www-client/chromium/files/chromium-78-include.patch b/www-client/chromium/files/chromium-78-include.patch
index a0b77c4fb9d..224aa3b3519 100644
--- a/www-client/chromium/files/chromium-78-include.patch
+++ b/www-client/chromium/files/chromium-78-include.patch
@@ -1,13 +1,25 @@
-diff --git a/components/password_manager/core/browser/leak_detection/encryption_utils.cc b/components/password_manager/core/browser/leak_detection/encryption_utils.cc
-index 31a7116..53eb464 100644
---- a/components/password_manager/core/browser/leak_detection/encryption_utils.cc
-+++ b/components/password_manager/core/browser/leak_detection/encryption_utils.cc
-@@ -13,6 +13,8 @@
- #include "crypto/sha2.h"
- #include "third_party/boringssl/src/include/openssl/evp.h"
+From bbfe2665923225b4a7c436ba2b6c7e5f695f2e52 Mon Sep 17 00:00:00 2001
+From: David Landell <landell@××××.com>
+Date: Fri, 13 Sep 2019 12:24:13 +0000
+Subject: [PATCH] Add missing include for unique_ptr
+
+Change-Id: I614d2f42868d563eb6a92dfb2aae08286e20d687
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1803137
+Reviewed-by: Henrik Boström <hbos@××××××××.org>
+Commit-Queue: Henrik Boström <hbos@××××××××.org>
+Cr-Commit-Position: refs/heads/master@{#696355}
+---
+
+diff --git a/third_party/blink/public/platform/web_rtc_rtp_source.h b/third_party/blink/public/platform/web_rtc_rtp_source.h
+index 959440f..c3fd542 100644
+--- a/third_party/blink/public/platform/web_rtc_rtp_source.h
++++ b/third_party/blink/public/platform/web_rtc_rtp_source.h
+@@ -5,6 +5,8 @@
+ #ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_RTP_SOURCE_H_
+ #define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_RTP_SOURCE_H_
  
-+#include <climits>
++#include <memory>
 +
- namespace password_manager {
+ #include "base/optional.h"
+ #include "third_party/blink/public/platform/web_common.h"
  
- namespace {

diff --git a/www-client/chromium/files/chromium-unbundle-zlib-r1.patch b/www-client/chromium/files/chromium-unbundle-zlib-r1.patch
new file mode 100644
index 00000000000..951a2adb196
--- /dev/null
+++ b/www-client/chromium/files/chromium-unbundle-zlib-r1.patch
@@ -0,0 +1,13 @@
+diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn
+index 3bc618a..e0ddf6d 100644
+--- a/third_party/perfetto/gn/BUILD.gn
++++ b/third_party/perfetto/gn/BUILD.gn
+@@ -244,7 +244,7 @@ if (enable_perfetto_trace_processor || perfetto_build_standalone ||
+         "//buildtools:zlib",
+       ]
+     } else {
+-      public_configs = [ "//third_party/zlib:zlib_config" ]
++      public_configs = [ "//third_party/zlib:system_zlib" ]
+       public_deps = [
+         "//third_party/zlib",
+       ]