Date: Sat, 19 Nov 2016 18:20:13 +0000 (UTC) From: Jan Beich <jbeich@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r426523 - in head/www/chromium: . files Message-ID: <201611191820.uAJIKDSD007927@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jbeich Date: Sat Nov 19 18:20:13 2016 New Revision: 426523 URL: https://svnweb.freebsd.org/changeset/ports/426523 Log: www/chromium: unbreak against ICU 58.1 components/url_formatter/url_formatter.cc:454:2: error: "Update aspirational_scripts per Unicode 9.0" ^ third_party/WebKit/Source/platform/text/TextBreakIterator.cpp:182:1: error: static_assert failed "breakAllLineBreakClassTable should be consistent" static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == U_LB_COUNT, "breakAllLineBreakClassTable should be consistent"); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PR: 214536 Submitted by: cpm (based on) Obtained from: upstream Approved by: portmgr blanket Added: head/www/chromium/files/patch-components_url__formatter_url__formatter.cc (contents, props changed) head/www/chromium/files/patch-third__party_WebKit_Source_platform_text_TextBreakIterator.cpp (contents, props changed) Modified: head/www/chromium/Makefile (contents, props changed) Modified: head/www/chromium/Makefile ============================================================================== --- head/www/chromium/Makefile Sat Nov 19 18:19:29 2016 (r426522) +++ head/www/chromium/Makefile Sat Nov 19 18:20:13 2016 (r426523) @@ -3,7 +3,7 @@ PORTNAME= chromium PORTVERSION= 52.0.2743.116 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= www MASTER_SITES= http://commondatastorage.googleapis.com/chromium-browser-official/ DISTFILES= ${DISTNAME}${EXTRACT_SUFX} # default, but needed to get distinfo correct if TEST is on Added: head/www/chromium/files/patch-components_url__formatter_url__formatter.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/chromium/files/patch-components_url__formatter_url__formatter.cc Sat Nov 19 18:20:13 2016 (r426523) @@ -0,0 +1,33 @@ +https://chromium.googlesource.com/chromium/src.git/+/424584b4984bde7c831f42e9fb47f1ad583a1c46%5E%21/ + +--- components/url_formatter/url_formatter.cc.orig 2016-08-03 19:02:17 UTC ++++ components/url_formatter/url_formatter.cc +@@ -429,9 +429,9 @@ void IDNSpoofChecker::SetAllowedUnicodeS + // section at + // http://www.unicode.org/Public/security/latest/xidmodifications.txt) are + // are added to the allowed set. The list has to be updated when a new +- // version of Unicode is released. The current version is 8.0.0 and ICU 58 +- // will have Unicode 9.0 data. +-#if U_ICU_VERSION_MAJOR_NUM < 58 ++ // version of Unicode is released. The current version is 9.0.0 and ICU 60 ++ // will have Unicode 10.0 data. ++#if U_ICU_VERSION_MAJOR_NUM < 60 + const icu::UnicodeSet aspirational_scripts( + icu::UnicodeString( + // Unified Canadian Syllabics +@@ -445,13 +445,13 @@ void IDNSpoofChecker::SetAllowedUnicodeS + // Yi + "\\uA000-\\uA48C" + // Miao +- "\\U00016F00-\\U00016F44\\U00016F50-\\U00016F7F" ++ "\\U00016F00-\\U00016F44\\U00016F50-\\U00016F7E" + "\\U00016F8F-\\U00016F9F]", + -1, US_INV), + *status); + allowed_set.addAll(aspirational_scripts); + #else +-#error "Update aspirational_scripts per Unicode 9.0" ++#error "Update aspirational_scripts per Unicode 10.0" + #endif + + // U+0338 is included in the recommended set, while U+05F4 and U+2027 are in Added: head/www/chromium/files/patch-third__party_WebKit_Source_platform_text_TextBreakIterator.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/chromium/files/patch-third__party_WebKit_Source_platform_text_TextBreakIterator.cpp Sat Nov 19 18:20:13 2016 (r426523) @@ -0,0 +1,64 @@ +https://chromium.googlesource.com/chromium/src.git/+/e60b571faa3f14dd9119a6792dccf12f8bf80192%5E%21/ + +--- third_party/WebKit/Source/platform/text/TextBreakIterator.cpp.orig 2016-08-03 19:02:36 UTC ++++ third_party/WebKit/Source/platform/text/TextBreakIterator.cpp +@@ -27,6 +27,9 @@ + #include "wtf/StdLibExtras.h" + #include "wtf/text/CharacterNames.h" + ++#include <unicode/uchar.h> ++#include <unicode/uvernum.h> ++ + namespace blink { + + unsigned numGraphemeClusters(const String& string) +@@ -123,13 +126,18 @@ static const unsigned char asciiLineBrea + { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0) }, // DEL + }; + ++#if U_ICU_VERSION_MAJOR_NUM >= 58 ++#define BA_LB_COUNT (U_LB_COUNT - 3) ++#else ++#define BA_LB_COUNT U_LB_COUNT ++#endif + // Line breaking table for CSS word-break: break-all. This table differs from + // asciiLineBreakTable in: + // - Indices are Line Breaking Classes defined in UAX#14 Unicode Line Breaking + // Algorithm: http://unicode.org/reports/tr14/#DescriptionOfProperties + // - 1 indicates additional break opportunities. 0 indicates to fallback to + // normal line break, not "prohibit break." +-static const unsigned char breakAllLineBreakClassTable[][U_LB_COUNT / 8 + 1] = { ++static const unsigned char breakAllLineBreakClassTable[][BA_LB_COUNT / 8 + 1] = { + // XX AI AL B2 BA BB BK CB CL CM CR EX GL HY ID IN IS LF NS NU OP PO PR QU SA SG SP SY ZW NL WJ H2 H3 JL JT JV CP CJ HL RI + { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // XX + { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // AI +@@ -179,10 +187,10 @@ static const unsigned char breakAllLineB + #undef AL + + static_assert(WTF_ARRAY_LENGTH(asciiLineBreakTable) == asciiLineBreakTableLastChar - asciiLineBreakTableFirstChar + 1, "asciiLineBreakTable should be consistent"); +-static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == U_LB_COUNT, "breakAllLineBreakClassTable should be consistent"); ++static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == BA_LB_COUNT, ++ "breakAllLineBreakClassTable should be consistent"); + +-static inline bool shouldBreakAfter(UChar lastCh, UChar ch, UChar nextCh) +-{ ++static inline bool shouldBreakAfter(UChar lastCh, UChar ch, UChar nextCh) { + // Don't allow line breaking between '-' and a digit if the '-' may mean a minus sign in the context, + // while allow breaking in 'ABCD-1234' and '1234-5678' which may be in long URLs. + if (ch == '-' && isASCIIDigit(nextCh)) +@@ -210,10 +218,11 @@ static inline ULineBreak lineBreakProper + + static inline bool shouldBreakAfterBreakAll(ULineBreak lastLineBreak, ULineBreak lineBreak) + { +- if (lineBreak >= 0 && lineBreak < U_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < U_LB_COUNT) { +- const unsigned char* tableRow = breakAllLineBreakClassTable[lastLineBreak]; +- return tableRow[lineBreak / 8] & (1 << (lineBreak % 8)); +- } ++ if (lineBreak >= 0 && lineBreak < BA_LB_COUNT && lastLineBreak >= 0 && ++ lastLineBreak < BA_LB_COUNT) { ++ const unsigned char* tableRow = breakAllLineBreakClassTable[lastLineBreak]; ++ return tableRow[lineBreak / 8] & (1 << (lineBreak % 8)); ++ } + return false; + } +
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201611191820.uAJIKDSD007927>