commit:     c7a13c359ac5a60881c2f45e4a2e544f8a477841
Author:     Davide Pesavento <pesa <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 18 02:09:41 2017 +0000
Commit:     Davide Pesavento <pesa <AT> gentoo <DOT> org>
CommitDate: Sun Jun 18 02:09:41 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7a13c35

dev-qt/qtwebkit: fix build with ICU 59

Gentoo-Bug: 618644
Package-Manager: Portage-2.3.6, Repoman-2.3.2

 dev-qt/qtwebkit/files/qtwebkit-5.6.2-icu-59.patch | 92 +++++++++++++++++++++++
 dev-qt/qtwebkit/qtwebkit-5.6.2.ebuild             |  1 +
 dev-qt/qtwebkit/qtwebkit-5.7.1.ebuild             |  3 +-
 3 files changed, 95 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtwebkit/files/qtwebkit-5.6.2-icu-59.patch 
b/dev-qt/qtwebkit/files/qtwebkit-5.6.2-icu-59.patch
new file mode 100644
index 00000000000..2a2709b34ce
--- /dev/null
+++ b/dev-qt/qtwebkit/files/qtwebkit-5.6.2-icu-59.patch
@@ -0,0 +1,92 @@
+From bf172ae289a1348842005a9421797970f9b72060 Mon Sep 17 00:00:00 2001
+From: Konstantin Tokarev <annu...@yandex.ru>
+Date: Thu, 4 May 2017 15:12:37 +0300
+Subject: [PATCH] Fix compilation with ICU 59
+
+Upstream fix: https://bugs.webkit.org/show_bug.cgi?id=171612
+
+Task-number: QTBUG-60532
+Change-Id: I6014feea213aa70ebe40b09d9d1a03fd1ed3c843
+Reviewed-by: Allan Sandfeld Jensen <allan.jen...@qt.io>
+---
+ Source/JavaScriptCore/API/JSStringRef.cpp        | 6 +++---
+ Source/JavaScriptCore/runtime/DateConversion.cpp | 3 ++-
+ Source/WTF/wtf/TypeTraits.h                      | 3 +++
+ Source/WebKit2/Shared/API/c/WKString.cpp         | 2 +-
+ 4 files changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/Source/JavaScriptCore/API/JSStringRef.cpp 
b/Source/JavaScriptCore/API/JSStringRef.cpp
+index 812f3d413..77a3fd0f4 100644
+--- a/Source/JavaScriptCore/API/JSStringRef.cpp
++++ b/Source/JavaScriptCore/API/JSStringRef.cpp
+@@ -37,7 +37,7 @@ using namespace WTF::Unicode;
+ JSStringRef JSStringCreateWithCharacters(const JSChar* chars, size_t numChars)
+ {
+     initializeThreading();
+-    return OpaqueJSString::create(chars, numChars).leakRef();
++    return OpaqueJSString::create(reinterpret_cast<const UChar*>(chars), 
numChars).leakRef();
+ }
+ 
+ JSStringRef JSStringCreateWithUTF8CString(const char* string)
+@@ -62,7 +62,7 @@ JSStringRef JSStringCreateWithUTF8CString(const char* string)
+ JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t 
numChars)
+ {
+     initializeThreading();
+-    return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, 
numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
++    return 
OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const 
UChar*>(chars), numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
+ }
+ 
+ JSStringRef JSStringRetain(JSStringRef string)
+@@ -83,7 +83,7 @@ size_t JSStringGetLength(JSStringRef string)
+ 
+ const JSChar* JSStringGetCharactersPtr(JSStringRef string)
+ {
+-    return string->characters();
++    return reinterpret_cast<const JSChar*>(string->characters());
+ }
+ 
+ size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string)
+diff --git a/Source/JavaScriptCore/runtime/DateConversion.cpp 
b/Source/JavaScriptCore/runtime/DateConversion.cpp
+index 0b57f012d..05e27338b 100644
+--- a/Source/JavaScriptCore/runtime/DateConversion.cpp
++++ b/Source/JavaScriptCore/runtime/DateConversion.cpp
+@@ -107,7 +107,8 @@ String formatDateTime(const GregorianDateTime& t, 
DateTimeFormat format, bool as
+ #if OS(WINDOWS)
+             TIME_ZONE_INFORMATION timeZoneInformation;
+             GetTimeZoneInformation(&timeZoneInformation);
+-            const WCHAR* timeZoneName = t.isDST() ? 
timeZoneInformation.DaylightName : timeZoneInformation.StandardName;
++            const WCHAR* winTimeZoneName = t.isDST() ? 
timeZoneInformation.DaylightName : timeZoneInformation.StandardName;
++            String timeZoneName(reinterpret_cast<const 
UChar*>(winTimeZoneName));
+ #else
+             struct tm gtm = t;
+             char timeZoneName[70];
+diff --git a/Source/WTF/wtf/TypeTraits.h b/Source/WTF/wtf/TypeTraits.h
+index 9df2c95cf..f5d6121fd 100644
+--- a/Source/WTF/wtf/TypeTraits.h
++++ b/Source/WTF/wtf/TypeTraits.h
+@@ -72,6 +72,9 @@ namespace WTF {
+     template<> struct IsInteger<unsigned long>      { static const bool value 
= true; };
+     template<> struct IsInteger<long long>          { static const bool value 
= true; };
+     template<> struct IsInteger<unsigned long long> { static const bool value 
= true; };
++#if __cplusplus >= 201103L || defined(__GXX_EXPERIMENTAL_CXX0X__) || 
(defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
++    template<> struct IsInteger<char16_t>           { static const bool value 
= true; };
++#endif
+ #if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED)
+     template<> struct IsInteger<wchar_t>            { static const bool value 
= true; };
+ #endif
+diff --git a/Source/WebKit2/Shared/API/c/WKString.cpp 
b/Source/WebKit2/Shared/API/c/WKString.cpp
+index cbac67dd8..23400a64e 100644
+--- a/Source/WebKit2/Shared/API/c/WKString.cpp
++++ b/Source/WebKit2/Shared/API/c/WKString.cpp
+@@ -55,7 +55,7 @@ size_t WKStringGetLength(WKStringRef stringRef)
+ size_t WKStringGetCharacters(WKStringRef stringRef, WKChar* buffer, size_t 
bufferLength)
+ {
+     COMPILE_ASSERT(sizeof(WKChar) == sizeof(UChar), 
WKStringGetCharacters_sizeof_WKChar_matches_UChar);
+-    return (toImpl(stringRef)->getCharacters(static_cast<UChar*>(buffer), 
bufferLength));
++    return 
(toImpl(stringRef)->getCharacters(reinterpret_cast<UChar*>(buffer), 
bufferLength));
+ }
+ 
+ size_t WKStringGetMaximumUTF8CStringSize(WKStringRef stringRef)
+-- 
+2.13.1
+

diff --git a/dev-qt/qtwebkit/qtwebkit-5.6.2.ebuild 
b/dev-qt/qtwebkit/qtwebkit-5.6.2.ebuild
index 225bc40e907..5fa5f9b867e 100644
--- a/dev-qt/qtwebkit/qtwebkit-5.6.2.ebuild
+++ b/dev-qt/qtwebkit/qtwebkit-5.6.2.ebuild
@@ -66,6 +66,7 @@ DEPEND="${RDEPEND}
 
 PATCHES=(
        "${FILESDIR}/${PN}-5.4.2-system-leveldb.patch"
+       "${FILESDIR}/${PN}-5.6.2-icu-59.patch" # bug 618644
 )
 
 src_prepare() {

diff --git a/dev-qt/qtwebkit/qtwebkit-5.7.1.ebuild 
b/dev-qt/qtwebkit/qtwebkit-5.7.1.ebuild
index f2c0acdb114..a46c5c9563f 100644
--- a/dev-qt/qtwebkit/qtwebkit-5.7.1.ebuild
+++ b/dev-qt/qtwebkit/qtwebkit-5.7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -66,6 +66,7 @@ DEPEND="${RDEPEND}
 
 PATCHES=(
        "${FILESDIR}/${PN}-5.4.2-system-leveldb.patch"
+       "${FILESDIR}/${PN}-5.6.2-icu-59.patch" # bug 618644
 )
 
 src_prepare() {

Reply via email to