aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Peter Korsgaard <peter@korsgaard.com>2017-11-16 15:23:05 +0100
committerGravatar Peter Korsgaard <peter@korsgaard.com>2017-11-27 10:32:30 +0100
commitb622ceef864ea25286cde871d65649432659eceb (patch)
treef6a373f2226d9b6bd02c0ed9a847d8200d04e07e
parente8f6ccced4a40ffd5168e15b57cb1e9bb42bcf02 (diff)
downloadbuildroot-b622ceef864ea25286cde871d65649432659eceb.tar.gz
buildroot-b622ceef864ea25286cde871d65649432659eceb.tar.bz2
qt5webkit: backport upstream icu-59 fix from 5.9 branch to 5.6.3
icu-59.x slightly changed the API, breaking qt5webkit builds. For details, see: https://bugreports.qt.io/browse/QTBUG-60532 Signed-off-by: Peter Korsgaard <peter@korsgaard.com> (cherry picked from commit cab0d0a8acc920c6d240e9d503816b9ffb0508d2) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rw-r--r--package/qt5/qt5webkit/5.6.3/0004-Fix-compilation-with-ICU-59.patch93
1 files changed, 93 insertions, 0 deletions
diff --git a/package/qt5/qt5webkit/5.6.3/0004-Fix-compilation-with-ICU-59.patch b/package/qt5/qt5webkit/5.6.3/0004-Fix-compilation-with-ICU-59.patch
new file mode 100644
index 0000000000..f3b590eadd
--- /dev/null
+++ b/package/qt5/qt5webkit/5.6.3/0004-Fix-compilation-with-ICU-59.patch
@@ -0,0 +1,93 @@
+From bf172ae289a1348842005a9421797970f9b72060 Mon Sep 17 00:00:00 2001
+From: Konstantin Tokarev <annulen@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.jensen@qt.io>
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+---
+ 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.11.0
+