commit:     f2345c0af633116a69051239ab10d858d5aea69a
Author:     Pawel Hajdan, Jr <phajdan.jr <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 13 13:59:14 2017 +0000
Commit:     Paweł Hajdan <phajdan.jr <AT> gentoo <DOT> org>
CommitDate: Thu Apr 13 19:17:10 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2345c0a

www-client/chromium: dev channel bump (59.0.3067.0)

 www-client/chromium/Manifest                       |   2 +-
 ...0.3053.3.ebuild => chromium-59.0.3067.0.ebuild} |  19 +-
 .../chromium/files/chromium-system-icu-r1.patch    | 224 +++++++++++++++++++++
 3 files changed, 235 insertions(+), 10 deletions(-)

diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 62ce4fb1584..1a62c850710 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,5 +1,5 @@
 DIST chromium-57.0.2987.133.tar.xz 525240460 SHA256 
70011770a7e522c92826a3af48d3fd28a46bf8042897d072d20c748cbf828cf7 SHA512 
b53fb357d3f11b45a46b3fe52a10b0d20cf8f3fedc8454ceca6b8d1ea9c526493cfeeb4472766e3f23ceba5cd53b089a2639d6a166fbfa91db05153571b59039
 WHIRLPOOL 
25854c4c1c9b9fde2c0bd9af7c374fe3fe78a19a34703cf54cb157a257c7408bf1bf58c199afbc16009e99bc4a3cdc578e907e78fc45bc781e59ab39b877c374
 DIST chromium-58.0.3029.14.tar.xz 509043400 SHA256 
b7a02ec45d61516552f7377bd066ee1d77a4ededc03c4c53c18373797dc8d8c4 SHA512 
b84c422965c694eee4159bd4f8c102fda5e7d8012adf195c2882f9ef3030a0433fac666de85bfcdd4e635d82a57dfa9f3d4e8000dfb8ada2e068348190a4524c
 WHIRLPOOL 
dc47733b3344f58fa1a3bc3f1dcac5088d9bbfcffa1c395547ff42367d2164f51cced3f9ad4afc7157834339dbe3fbe6790c835345533c917013770fe11ebec7
 DIST chromium-58.0.3029.19.tar.xz 509050504 SHA256 
ffe5b52faf219bee7675460ac56b3d62a3ee9fd2001f4a854224a1445b8af5e6 SHA512 
b1780d4920d14e4861b5e5895accf49d7b65d49345ec243d7d1042ca1d0246cb3b4fcfa383ea3a6ef9a2145bc526be71286af156051a058f4f699b64cce772cb
 WHIRLPOOL 
e5e57370aa06ef8ef7b1e923f684148a1035dc3c4282e6a327cbe4f6e7a472ed724e5c4edb3e5ea91ed3620ea6a9d9f23c5ddb52246ff840b7997e3b00bebc8a
-DIST chromium-59.0.3053.3.tar.xz 516942144 SHA256 
55126fa8954093d513a77191ff32b194647f119a0dfbf101c636e5d557c28252 SHA512 
5a5d0f6d06ffbaf13e6e1e7442a86418f07ed00654926fad9ba1ae3458f0a67374da3a43d8235abd5a6db0827f57c25a631d537e6475c23488ffc272a65fbfee
 WHIRLPOOL 
1df35cffa2160fdd95f834df10b6f6e07703b9070bd46b7d5631dca66ab0ec4b2d6d947ad9e0c80f0a8f6380b1bf9afd23df6842f827005638b6e710eda8aa3c
 DIST chromium-59.0.3063.4.tar.xz 519742312 SHA256 
3ed3240fca23675f59d0bbf32884ba7c1b6d2288cf499b27d7792d499d8d6d60 SHA512 
4dfb4948f4632f813b35eed3935cd771c435dce4dfbd77b698c6e7df7a19af037368293d2cd91d44353aa15de0c47cb809fa144258324116b8c18e2fde16ebff
 WHIRLPOOL 
cb183a61ce92d3e99befd2b7503100a63eaa64e33b8ae049571138cbe01d768757dc50555111d4ac11546d1cd8f73717d9904a794a3146c54d3afa1420986dc4
+DIST chromium-59.0.3067.0.tar.xz 519365816 SHA256 
a8edc9aaa2cb24fc227740f4bc3585980c6e01c3a1117b7a77a7802b6c92767f SHA512 
877f53f288ec865f623ad2cdbe70d4e2a3728d5af05252275931697041a86fff7e0a0a3ef228d9169ffd2edda7ed636f8dbe1bf1abed0b9900a857a0b86455fc
 WHIRLPOOL 
98d816351e0e3f3ddad3fd11d57e70e9c9dd82d40376e08b6a8416dbf4500aa9eec9c0ad7ee760d7db85697863bd5834223c205273f37e0900d32c1aa7b7c237

diff --git a/www-client/chromium/chromium-59.0.3053.3.ebuild 
b/www-client/chromium/chromium-59.0.3067.0.ebuild
similarity index 97%
rename from www-client/chromium/chromium-59.0.3053.3.ebuild
rename to www-client/chromium/chromium-59.0.3067.0.ebuild
index 6ca1bccd1a2..e58a23908a2 100644
--- a/www-client/chromium/chromium-59.0.3053.3.ebuild
+++ b/www-client/chromium/chromium-59.0.3067.0.ebuild
@@ -93,6 +93,7 @@ RDEPEND="${COMMON_DEPEND}
        widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )
 "
 # dev-vcs/git - https://bugs.gentoo.org/593476
+# sys-apps/sandbox - https://crbug.com/586444
 DEPEND="${COMMON_DEPEND}
        >=app-arch/gzip-1.7
        !arm? (
@@ -104,6 +105,7 @@ DEPEND="${COMMON_DEPEND}
        dev-util/ninja
        net-libs/nodejs
        sys-apps/hwids[usb(+)]
+       !<sys-apps/sandbox-2.11
        >=sys-devel/bison-2.4.3
        sys-devel/flex
        virtual/pkgconfig
@@ -200,12 +202,12 @@ src_prepare() {
                "${FILESDIR}/${PN}-widevine-r1.patch"
                "${FILESDIR}/${PN}-FORTIFY_SOURCE.patch"
                "${FILESDIR}/skia-avx2.patch"
-               "${FILESDIR}/${PN}-gn-bootstrap-r4.patch"
                "${FILESDIR}/${PN}-dma-buf-r1.patch"
+               "${FILESDIR}/${PN}-system-ffmpeg-r5.patch"
+               "${FILESDIR}/${PN}-system-libjpeg-r1.patch"
+               "${FILESDIR}/${PN}-system-icu-r1.patch"
        )
 
-       use system-ffmpeg && PATCHES+=( 
"${FILESDIR}/${PN}-system-ffmpeg-r4.patch" )
-
        default
 
        mkdir -p third_party/node/linux/node-linux-x64/bin || die
@@ -255,6 +257,7 @@ src_prepare() {
                third_party/fips181
                third_party/flatbuffers
                third_party/flot
+               third_party/freetype
                third_party/google_input_tools
                third_party/google_input_tools/third_party/closure_library
                
third_party/google_input_tools/third_party/closure_library/third_party/closure
@@ -267,7 +270,6 @@ src_prepare() {
                third_party/leveldatabase
                third_party/libXNVCtrl
                third_party/libaddressinput
-               third_party/libdrm
                third_party/libjingle
                third_party/libphonenumber
                third_party/libsecret
@@ -296,11 +298,9 @@ src_prepare() {
                third_party/pdfium/third_party/bigint
                third_party/pdfium/third_party/freetype
                third_party/pdfium/third_party/lcms2-2.6
-               third_party/pdfium/third_party/libjpeg
                third_party/pdfium/third_party/libopenjpeg20
                third_party/pdfium/third_party/libpng16
                third_party/pdfium/third_party/libtiff
-               third_party/pdfium/third_party/zlib_v128
                third_party/ply
                third_party/polymer
                third_party/protobuf
@@ -353,6 +353,8 @@ src_configure() {
        # for development and debugging.
        myconf_gn+=" is_component_build=$(usex component-build true false)"
 
+       myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
+
        # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
        myconf_gn+=" enable_nacl=false"
 
@@ -370,6 +372,7 @@ src_configure() {
                flac
                harfbuzz-ng
                icu
+               libdrm
                libjpeg
                libpng
                libwebp
@@ -511,9 +514,7 @@ src_configure() {
        touch chrome/test/data/webui/i18n_process_css_test.html || die
 
        einfo "Configuring Chromium..."
-       # TODO: bootstrapped gn binary hangs when using tcmalloc with portage's 
sandbox.
-       tools/gn/bootstrap/bootstrap.py -v --gn-gen-args "${myconf_gn} 
use_allocator=\"none\"" || die
-       myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
+       tools/gn/bootstrap/bootstrap.py -v --gn-gen-args "${myconf_gn}" || die
        out/Release/gn gen --args="${myconf_gn}" out/Release || die
 }
 

diff --git a/www-client/chromium/files/chromium-system-icu-r1.patch 
b/www-client/chromium/files/chromium-system-icu-r1.patch
new file mode 100644
index 00000000000..6356467c21c
--- /dev/null
+++ b/www-client/chromium/files/chromium-system-icu-r1.patch
@@ -0,0 +1,224 @@
+Index: third_party/WebKit/Source/platform/text/CharacterEmoji.cpp
+diff --git a/third_party/WebKit/Source/platform/text/CharacterEmoji.cpp 
b/third_party/WebKit/Source/platform/text/CharacterEmoji.cpp
+index 
af051b46589bed421afd1da1e44623820c8f9136..60059d25dd808a0a55481d9bec3020b95175e45c
 100644
+--- a/third_party/WebKit/Source/platform/text/CharacterEmoji.cpp
++++ b/third_party/WebKit/Source/platform/text/CharacterEmoji.cpp
+@@ -192,26 +192,26 @@ static void applyPatternAndFreeze(icu::UnicodeSet* 
unicodeSet,
+   DCHECK_EQ(err, U_ZERO_ERROR);
+ }
+ 
+-bool Character::isEmoji(UChar32 ch) {
+-  return Character::isEmojiTextDefault(ch) ||
+-         Character::isEmojiEmojiDefault(ch);
++bool Character::IsEmoji(UChar32 ch) {
++  return Character::IsEmojiTextDefault(ch) ||
++         Character::IsEmojiEmojiDefault(ch);
+ }
+ 
+-bool Character::isEmojiTextDefault(UChar32 ch) {
++bool Character::IsEmojiTextDefault(UChar32 ch) {
+   DEFINE_STATIC_LOCAL(icu::UnicodeSet, emojiTextSet, ());
+   if (emojiTextSet.isEmpty())
+     applyPatternAndFreeze(&emojiTextSet, kEmojiTextPattern);
+-  return emojiTextSet.contains(ch) && !isEmojiEmojiDefault(ch);
++  return emojiTextSet.contains(ch) && !IsEmojiEmojiDefault(ch);
+ }
+ 
+-bool Character::isEmojiEmojiDefault(UChar32 ch) {
++bool Character::IsEmojiEmojiDefault(UChar32 ch) {
+   DEFINE_STATIC_LOCAL(icu::UnicodeSet, emojiEmojiSet, ());
+   if (emojiEmojiSet.isEmpty())
+     applyPatternAndFreeze(&emojiEmojiSet, kEmojiEmojiPattern);
+   return emojiEmojiSet.contains(ch);
+ }
+ 
+-bool Character::isEmojiModifierBase(UChar32 ch) {
++bool Character::IsEmojiModifierBase(UChar32 ch) {
+   DEFINE_STATIC_LOCAL(icu::UnicodeSet, emojieModifierBaseSet, ());
+   if (emojieModifierBaseSet.isEmpty())
+     applyPatternAndFreeze(&emojieModifierBaseSet, kEmojiModifierBasePattern);
+Index: 
third_party/WebKit/Source/platform/text/CharacterPropertyDataGenerator.cpp
+diff --git 
a/third_party/WebKit/Source/platform/text/CharacterPropertyDataGenerator.cpp 
b/third_party/WebKit/Source/platform/text/CharacterPropertyDataGenerator.cpp
+index 
55c4d36e8c217680da9131aac063e38ad3b1fe3d..f3000190d4473daf39f0bc7fe5c262c21ecca4a0
 100644
+--- 
a/third_party/WebKit/Source/platform/text/CharacterPropertyDataGenerator.cpp
++++ 
b/third_party/WebKit/Source/platform/text/CharacterPropertyDataGenerator.cpp
+@@ -20,7 +20,7 @@
+ namespace blink {
+ 
+ #if defined(USING_SYSTEM_ICU)
+-static void generate(FILE*) {}
++static void Generate(FILE*) {}
+ #else
+ 
+ const UChar32 kMaxCodepoint = 0x10FFFF;
+Index: third_party/WebKit/Source/platform/wtf/text/TextCodecICU.cpp
+diff --git a/third_party/WebKit/Source/platform/wtf/text/TextCodecICU.cpp 
b/third_party/WebKit/Source/platform/wtf/text/TextCodecICU.cpp
+index 
6d6f6f10e73dd6a413221d1e7f2d1e2a2d674e8b..ddf01cd9e2207bace2a0c4cab461750e86e0bf0d
 100644
+--- a/third_party/WebKit/Source/platform/wtf/text/TextCodecICU.cpp
++++ b/third_party/WebKit/Source/platform/wtf/text/TextCodecICU.cpp
+@@ -63,16 +63,16 @@ void 
TextCodecICU::RegisterEncodingNames(EncodingNameRegistrar registrar) {
+   // apart; ICU treats these names as synonyms.
+   registrar("ISO-8859-8-I", "ISO-8859-8-I");
+ 
+-  int32_t num_encodings = ucnv_countAvailable();
+-  for (int32_t i = 0; i < num_encodings; ++i) {
++  int32_t nuencoding_s = ucnv_countAvailable();
++  for (int32_t i = 0; i < nuencoding_s; ++i) {
+     const char* name = ucnv_getAvailableName(i);
+     UErrorCode error = U_ZERO_ERROR;
+ #if !defined(USING_SYSTEM_ICU)
+     const char* primary_standard = "HTML";
+     const char* secondary_standard = "MIME";
+ #else
+-    const char* primaryStandard = "MIME";
+-    const char* secondaryStandard = "IANA";
++    const char* primary_standard = "MIME";
++    const char* secondary_standard = "IANA";
+ #endif
+     const char* standard_name =
+         ucnv_getStandardName(name, primary_standard, &error);
+@@ -94,20 +94,21 @@ void 
TextCodecICU::RegisterEncodingNames(EncodingNameRegistrar registrar) {
+ //    encoding for encoding GB_2312-80 and several others. So, we need to
+ //    override this behavior, too.
+ #if defined(USING_SYSTEM_ICU)
+-    if (!strcmp(standardName, "GB2312") || !strcmp(standardName, 
"GB_2312-80"))
+-      standardName = "GBK";
++    if (!strcmp(standard_name, "GB2312") || !strcmp(standard_name, 
"GB_2312-80")) {
++      standard_name = "GBK";
+     // Similarly, EUC-KR encodings all map to an extended version, but
+     // per HTML5, the canonical name still should be EUC-KR.
+-    else if (!strcmp(standardName, "EUC-KR") ||
+-             !strcmp(standardName, "KSC_5601") ||
+-             !strcmp(standardName, "cp1363"))
+-      standardName = "EUC-KR";
++    } else if (!strcmp(standard_name, "EUC-KR") ||
++               !strcmp(standard_name, "KSC_5601") ||
++               !strcmp(standard_name, "cp1363")) {
++      standard_name = "EUC-KR";
+     // And so on.
+-    else if (!strcasecmp(standardName, "iso-8859-9"))
++    } else if (!strcasecmp(standard_name, "iso-8859-9")) {
+       // This name is returned in different case by ICU 3.2 and 3.6.
+-      standardName = "windows-1254";
+-    else if (!strcmp(standardName, "TIS-620"))
+-      standardName = "windows-874";
++      standard_name = "windows-1254";
++    } else if (!strcmp(standard_name, "TIS-620")) {
++      standard_name = "windows-874";
++    }
+ #endif
+ 
+     registrar(standard_name, standard_name);
+@@ -229,8 +230,8 @@ void TextCodecICU::RegisterCodecs(TextCodecRegistrar 
registrar) {
+   // See comment above in registerEncodingNames.
+   registrar("ISO-8859-8-I", Create, 0);
+ 
+-  int32_t num_encodings = ucnv_countAvailable();
+-  for (int32_t i = 0; i < num_encodings; ++i) {
++  int32_t nuencoding_s = ucnv_countAvailable();
++  for (int32_t i = 0; i < nuencoding_s; ++i) {
+     const char* name = ucnv_getAvailableName(i);
+     UErrorCode error = U_ZERO_ERROR;
+     const char* standard_name = ucnv_getStandardName(name, "MIME", &error);
+@@ -272,7 +273,7 @@ void TextCodecICU::CreateICUConverter() const {
+   DCHECK(!converter_icu_);
+ 
+ #if defined(USING_SYSTEM_ICU)
+-  const char* name = m_encoding.name();
++  const char* name = encoding_.GetName();
+   m_needsGBKFallbacks =
+       name[0] == 'G' && name[1] == 'B' && name[2] == 'K' && !name[3];
+ #endif
+@@ -393,16 +394,16 @@ String TextCodecICU::Decode(const char* bytes,
+   // Chrome's copy of ICU does not have the issue described below.
+   return result.ToString();
+ #else
+-  String resultString = result.toString();
++  String resultString = result.ToString();
+ 
+   // <http://bugs.webkit.org/show_bug.cgi?id=17014>
+   // Simplified Chinese pages use the code A3A0 to mean "full-width space", 
but
+   // ICU decodes it as U+E5E5.
+-  if (!strcmp(m_encoding.name(), "GBK")) {
+-    if (!strcasecmp(m_encoding.name(), "gb18030"))
+-      resultString.replace(0xE5E5, ideographicSpaceCharacter);
++  if (!strcmp(encoding_.GetName(), "GBK")) {
++    if (!strcasecmp(encoding_.GetName(), "gb18030"))
++      resultString.Replace(0xE5E5, ideographicSpaceCharacter);
+     // Make GBK compliant to the encoding spec and align with GB18030
+-    resultString.replace(0x01F9, 0xE7C8);
++    resultString.Replace(0x01F9, 0xE7C8);
+     // FIXME: Once https://www.w3.org/Bugs/Public/show_bug.cgi?id=28740#c3
+     // is resolved, add U+1E3F => 0xE7C7.
+   }
+@@ -506,7 +507,7 @@ static void gbkCallbackEscape(const void* context,
+     ucnv_cbFromUWriteUChars(fromUArgs, &source, source + 1, 0, err);
+     return;
+   }
+-  numericEntityCallback(context, fromUArgs, codeUnits, length, codePoint,
++  NumericEntityCallback(context, fromUArgs, codeUnits, length, codePoint,
+                         reason, err);
+ }
+ 
+@@ -525,7 +526,7 @@ static void gbkCssEscapedEntityCallack(const void* context,
+       ucnv_cbFromUWriteUChars(fromUArgs, &source, source + 1, 0, err);
+       return;
+     }
+-    cssEscapedEntityCallback(context, fromUArgs, codeUnits, length, codePoint,
++    CssEscapedEntityCallback(context, fromUArgs, codeUnits, length, codePoint,
+                              reason, err);
+     return;
+   }
+@@ -548,7 +549,7 @@ static void gbkUrlEscapedEntityCallack(const void* context,
+       ucnv_cbFromUWriteUChars(fromUArgs, &source, source + 1, 0, err);
+       return;
+     }
+-    urlEscapedEntityCallback(context, fromUArgs, codeUnits, length, codePoint,
++    UrlEscapedEntityCallback(context, fromUArgs, codeUnits, length, codePoint,
+                              reason, err);
+     return;
+   }
+@@ -622,7 +623,7 @@ CString TextCodecICU::EncodeInternal(const TextCodecInput& 
input,
+                             0, 0, &err);
+ #else
+       ucnv_setFromUCallBack(
+-          m_converterICU, m_needsGBKFallbacks ? gbkCallbackSubstitute
++          converter_icu_, m_needsGBKFallbacks ? gbkCallbackSubstitute
+                                               : 
UCNV_FROM_U_CALLBACK_SUBSTITUTE,
+           0, 0, 0, &err);
+ #endif
+@@ -633,8 +634,8 @@ CString TextCodecICU::EncodeInternal(const TextCodecInput& 
input,
+                             &err);
+ #else
+       ucnv_setFromUCallBack(
+-          m_converterICU,
+-          m_needsGBKFallbacks ? gbkCallbackEscape : numericEntityCallback, 0, 
0,
++          converter_icu_,
++          m_needsGBKFallbacks ? gbkCallbackEscape : NumericEntityCallback, 0, 
0,
+           0, &err);
+ #endif
+       break;
+@@ -643,9 +644,9 @@ CString TextCodecICU::EncodeInternal(const TextCodecInput& 
input,
+       ucnv_setFromUCallBack(converter_icu_, UrlEscapedEntityCallback, 0, 0, 0,
+                             &err);
+ #else
+-      ucnv_setFromUCallBack(m_converterICU,
++      ucnv_setFromUCallBack(converter_icu_,
+                             m_needsGBKFallbacks ? gbkUrlEscapedEntityCallack
+-                                                : urlEscapedEntityCallback,
++                                                : UrlEscapedEntityCallback,
+                             0, 0, 0, &err);
+ #endif
+       break;
+@@ -654,9 +655,9 @@ CString TextCodecICU::EncodeInternal(const TextCodecInput& 
input,
+       ucnv_setFromUCallBack(converter_icu_, CssEscapedEntityCallback, 0, 0, 0,
+                             &err);
+ #else
+-      ucnv_setFromUCallBack(m_converterICU,
++      ucnv_setFromUCallBack(converter_icu_,
+                             m_needsGBKFallbacks ? gbkCssEscapedEntityCallack
+-                                                : cssEscapedEntityCallback,
++                                                : CssEscapedEntityCallback,
+                             0, 0, 0, &err);
+ #endif
+       break;

Reply via email to