svn commit: r450296 - in head/java/openjfx8-devel: . files

Tobias Kortkamp tobik at FreeBSD.org
Thu Sep 21 17:55:31 UTC 2017


Author: tobik
Date: Thu Sep 21 17:55:30 2017
New Revision: 450296
URL: https://svnweb.freebsd.org/changeset/ports/450296

Log:
  java/openjfx8-devel: Unbreak build with ICU 59.1
  
  modules/web/src/main/native/Source/JavaScriptCore/API/JSStringRef.cpp:40:13: error: no matching function for call to 'create'
      return &OpaqueJSString::create(chars, numChars).leakRef();
              ^~~~~~~~~~~~~~~~~~~~~~
  modules/web/src/main/native/Source/JavaScriptCore/API/OpaqueJSString.h:48:32: note: candidate function not viable: no known conversion from 'const JSChar *' (aka 'const unsigned short *') to 'const LChar *' (aka 'const unsigned char *') for 1st argument
      static Ref<OpaqueJSString> create(const LChar* characters, unsigned length)
                                 ^
  modules/web/src/main/native/Source/JavaScriptCore/API/OpaqueJSString.h:53:32: note: candidate function not viable: no known conversion from 'const JSChar *' (aka 'const unsigned short *') to 'const UChar *' (aka 'const char16_t *') for 1st argument
      static Ref<OpaqueJSString> create(const UChar* characters, unsigned length)
                                 ^
  modules/web/src/main/native/Source/JavaScriptCore/API/OpaqueJSString.h:43:32: note: candidate function not viable: requires 0 arguments, but 2 were provided
      static Ref<OpaqueJSString> create()
                                 ^
  modules/web/src/main/native/Source/JavaScriptCore/API/OpaqueJSString.h:58:53: note: candidate function not viable: requires 1 argument, but 2 were provided
      JS_EXPORT_PRIVATE static RefPtr<OpaqueJSString> create(const String&);
                                                      ^
  modules/web/src/main/native/Source/JavaScriptCore/API/JSStringRef.cpp:65:35: error: no matching function for call to 'createWithoutCopying'
      return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars)).leakRef();
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  modules/web/src/main/native/Source/WTF/wtf/text/StringImpl.h:385:50: note: candidate function not viable: no known conversion from 'const JSChar *' (aka 'const unsigned short *') to 'const UChar *' (aka 'const char16_t *') for 1st argument
      WTF_EXPORT_STRING_API static Ref<StringImpl> createWithoutCopying(const UChar* characters, unsigned length);
                                                   ^
  modules/web/src/main/native/Source/WTF/wtf/text/StringImpl.h:386:50: note: candidate function not viable: no known conversion from 'const JSChar *' (aka 'const unsigned short *') to 'const LChar *' (aka 'const unsigned char *') for 1st argument
      WTF_EXPORT_STRING_API static Ref<StringImpl> createWithoutCopying(const LChar* characters, unsigned length);
                                                   ^
  modules/web/src/main/native/Source/JavaScriptCore/API/JSStringRef.cpp:90:12: error: cannot initialize return object of type 'const JSChar *' (aka 'const unsigned short *') with an rvalue of type 'const UChar *' (aka 'const char16_t *')
      return string->characters();
             ^~~~~~~~~~~~~~~~~~~~
  modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h:21:18: error: typedef redefinition with different types ('uint16_t' (aka 'unsigned short') vs 'char16_t')
  typedef uint16_t UChar;
                   ^
  /usr/local/include/unicode/umachine.h:347:22: note: previous definition is here
      typedef char16_t UChar;
  
  PR:		218788, 222270
  Submitted by:	jbeich
  Reviewed by:	jbeich
  Obtained from:	WebKit (rebased)

Added:
  head/java/openjfx8-devel/files/patch-icu59   (contents, props changed)
Modified:
  head/java/openjfx8-devel/Makefile

Modified: head/java/openjfx8-devel/Makefile
==============================================================================
--- head/java/openjfx8-devel/Makefile	Thu Sep 21 17:24:13 2017	(r450295)
+++ head/java/openjfx8-devel/Makefile	Thu Sep 21 17:55:30 2017	(r450296)
@@ -3,7 +3,7 @@
 
 PORTNAME=	openjfx8
 PORTVERSION=	20170722
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	java x11-toolkits devel
 MASTER_SITES=	https://bitbucket.org/tobik/openjfx-rt/get/freebsd${PORTVERSION}${EXTRACT_SUFX}?dummy=/
 PKGNAMESUFFIX=	-devel

Added: head/java/openjfx8-devel/files/patch-icu59
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/java/openjfx8-devel/files/patch-icu59	Thu Sep 21 17:55:30 2017	(r450296)
@@ -0,0 +1,77 @@
+------------------------------------------------------------------------
+r216187 | annulen at yandex.ru | 2017-05-05 00:33:41 +0900 (Fri, 05 May 2017) | 28 lines
+
+Fix compilation with ICU 59.1
+https://bugs.webkit.org/show_bug.cgi?id=171612
+
+Reviewed by Mark Lam.
+
+ICU 59.1 has broken source compatibility. Now it defines UChar as
+char16_t, which does not allow automatic type conversion from unsigned
+short in C++ code.
+
+--- modules/web/src/main/native/Source/JavaScriptCore/API/JSStringRef.cpp.orig	2017-07-22 15:59:03 UTC
++++ modules/web/src/main/native/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* 
+ JSStringRef JSStringCreateWithCharactersNoCopy(const JSChar* chars, size_t numChars)
+ {
+     initializeThreading();
+-    return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars)).leakRef();
++    return OpaqueJSString::create(StringImpl::createWithoutCopying(reinterpret_cast<const UChar*>(chars), numChars)).leakRef();
+ }
+ 
+ JSStringRef JSStringRetain(JSStringRef string)
+@@ -87,7 +87,7 @@ const JSChar* JSStringGetCharactersPtr(JSStringRef str
+ {
+     if (!string)
+         return nullptr;
+-    return string->characters();
++    return reinterpret_cast<const JSChar*>(string->characters());
+ }
+ 
+ size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string)
+--- modules/web/src/main/native/Source/JavaScriptCore/runtime/DateConversion.cpp.orig	2017-07-22 15:59:03 UTC
++++ modules/web/src/main/native/Source/JavaScriptCore/runtime/DateConversion.cpp
+@@ -107,7 +107,8 @@ String formatDateTime(const GregorianDateTime& t, Date
+ #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];
+--- modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h.orig	2017-07-22 15:59:03 UTC
++++ modules/web/src/main/native/Source/WTF/wtf/unicode/java/UnicodeJava.h
+@@ -15,21 +15,6 @@
+ 
+ #define CharProp(p) java_lang_Character_##p
+ 
+-#if PLATFORM(JAVA) && OS(WINDOWS)
+-typedef wchar_t UChar;
+-#else
+-typedef uint16_t UChar;
+-#endif
+-
+-// #ifdef UChar32
+-// #undef UChar32
+-// #endif
+-
+-#ifndef __UMACHINE_H__ //XXX: recheck
+-typedef uint32_t UChar32;
+-#endif
+-
+-#define U_MASK(x) ((uint32_t)1<<(x))
+ #define USE_FAST_PATH(c, fast, slow) ((c) <= 0x7F ? fast((char)c) : slow(c))
+ 
+ #define CHECK_PROPERTY(c, mask, isSet) \


More information about the svn-ports-all mailing list