nodejs: fix build with icu-59

This commit is contained in:
Alessio Sergi 2017-05-07 15:50:13 +02:00
parent 9f2f456f10
commit d332ade60e
2 changed files with 61 additions and 2 deletions

View File

@ -0,0 +1,59 @@
https://codereview.chromium.org/2738503008
--- deps/v8/src/i18n.cc.orig
+++ deps/v8/src/i18n.cc
@@ -30,8 +30,13 @@
#include "unicode/ucol.h"
#include "unicode/ucurr.h"
#include "unicode/unum.h"
+#include "unicode/uvernum.h"
#include "unicode/uversion.h"
+#if U_ICU_VERSION_MAJOR_NUM >= 59
+#include "unicode/char16ptr.h"
+#endif
+
namespace v8 {
namespace internal {
@@ -270,8 +275,13 @@ icu::DecimalFormat* CreateICUNumberFormat(
}
UErrorCode status_digits = U_ZERO_ERROR;
+#if U_ICU_VERSION_MAJOR_NUM >= 59
uint32_t fraction_digits = ucurr_getDefaultFractionDigits(
- currency.getTerminatedBuffer(), &status_digits);
+ icu::toUCharPtr(currency.getTerminatedBuffer()), &status_digits);
+#else
+ uint32_t fraction_digits = ucurr_getDefaultFractionDigits(
+ currency.getTerminatedBuffer(), &status_digits);
+#endif
if (U_SUCCESS(status_digits)) {
number_format->setMinimumFractionDigits(fraction_digits);
number_format->setMaximumFractionDigits(fraction_digits);
--- deps/v8/src/runtime/runtime-i18n.cc.orig
+++ deps/v8/src/runtime/runtime-i18n.cc
@@ -43,6 +43,7 @@
#include "unicode/uloc.h"
#include "unicode/unistr.h"
#include "unicode/unum.h"
+#include "unicode/ustring.h"
#include "unicode/uversion.h"
@@ -609,10 +610,11 @@ RUNTIME_FUNCTION(Runtime_InternalCompare) {
String::FlatContent flat2 = string2->GetFlatContent();
std::unique_ptr<uc16[]> sap1;
std::unique_ptr<uc16[]> sap2;
- const UChar* string_val1 = GetUCharBufferFromFlat(flat1, &sap1, length1);
- const UChar* string_val2 = GetUCharBufferFromFlat(flat2, &sap2, length2);
- result =
- collator->compare(string_val1, length1, string_val2, length2, status);
+ icu::UnicodeString string_val1(
+ FALSE, GetUCharBufferFromFlat(flat1, &sap1, length1), length1);
+ icu::UnicodeString string_val2(
+ FALSE, GetUCharBufferFromFlat(flat2, &sap2, length2), length2);
+ result = collator->compare(string_val1, string_val2, status);
}
if (U_FAILURE(status)) return isolate->ThrowIllegalOperation();

View File

@ -1,7 +1,7 @@
# Template file for 'nodejs'
pkgname=nodejs
version=7.10.0
revision=1
revision=2
wrksrc=node-v${version}
hostmakedepends="pkg-config python $(vopt_if icu icu)"
makedepends="zlib-devel python-devel $(vopt_if icu icu-devel)
@ -21,7 +21,7 @@ build_options="ssl libuv http_parser icu"
desc_option_libuv="Enable shared libuv"
desc_option_http_parser="Enable shared http-parser"
desc_option_icu="Enable shared icu"
build_options_default="libuv http_parser"
build_options_default="libuv http_parser icu"
replaces="iojs>=0"