[arch-commits] Commit in nodejs-lts-carbon/trunk (2 files)

Evangelos Foutras foutrelis at archlinux.org
Tue Mar 27 21:15:54 UTC 2018


    Date: Tuesday, March 27, 2018 @ 21:15:53
  Author: foutrelis
Revision: 312935

Fix build with ICU 61

Added:
  nodejs-lts-carbon/trunk/add-icu-prefix-before-ICU-symbols.patch
Modified:
  nodejs-lts-carbon/trunk/PKGBUILD

-----------------------------------------+
 PKGBUILD                                |    9 +-
 add-icu-prefix-before-ICU-symbols.patch |  116 ++++++++++++++++++++++++++++++
 2 files changed, 123 insertions(+), 2 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-03-27 21:14:31 UTC (rev 312934)
+++ PKGBUILD	2018-03-27 21:15:53 UTC (rev 312935)
@@ -12,9 +12,11 @@
 optdepends=('npm: nodejs package manager')
 provides=("nodejs=$pkgver")
 conflicts=('nodejs')
-source=("${url}/dist/v${pkgver}/node-v${pkgver}.tar.xz")
+source=("${url}/dist/v${pkgver}/node-v${pkgver}.tar.xz"
+        add-icu-prefix-before-ICU-symbols.patch)
 # https://nodejs.org/download/release/latest-carbon/SHASUMS256.txt.asc
-sha256sums=('b72d4e71618d6bcbd039b487b51fa7543631a4ac3331d7caf69bdf55b5b2901a')
+sha256sums=('b72d4e71618d6bcbd039b487b51fa7543631a4ac3331d7caf69bdf55b5b2901a'
+            'b0b22c490c4b4e7ed4bad46d1989e980a0ba30299855ec0164ff3d11384833c7')
 #validpgpkeys=('C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8'  # Myles Borins <mylesborins at google.com>
 #              '77984A986EBC2AA786BC0F66B01FBB92821C587A') # Gibson Fahnestock <gibfahn at gmail.com>
 
@@ -21,6 +23,9 @@
 prepare() {
   cd node-v${pkgver}
 
+  # Fix build with ICU 61
+  patch -Np1 -i ../add-icu-prefix-before-ICU-symbols.patch
+
   msg 'Fixing for python2 name'
   find -type f -exec sed \
     -e 's_^#!/usr/bin/env python$_&2_' \

Added: add-icu-prefix-before-ICU-symbols.patch
===================================================================
--- add-icu-prefix-before-ICU-symbols.patch	                        (rev 0)
+++ add-icu-prefix-before-ICU-symbols.patch	2018-03-27 21:15:53 UTC (rev 312935)
@@ -0,0 +1,116 @@
+From b8f47b27571f8d763f811f017be3fb37d466c4fc Mon Sep 17 00:00:00 2001
+From: "Steven R. Loomis" <srloomis at us.ibm.com>
+Date: Wed, 7 Feb 2018 16:42:21 -0800
+Subject: [PATCH] src: add "icu::" prefix before ICU symbols
+
+In ICU 61.x, icu4c will no longer put its declarations in the global namespace.
+Everything will be in the "icu::" namespace (or icu_60:: in the linker).
+Prepare for this.
+https://ssl.icu-project.org/trac/ticket/13460
+---
+ src/inspector_io.cc    |  9 +++++----
+ src/node_i18n.cc       |  2 +-
+ tools/icu/iculslocs.cc | 14 +++++++-------
+ 3 files changed, 13 insertions(+), 12 deletions(-)
+
+diff --git a/src/inspector_io.cc b/src/inspector_io.cc
+index 9af4458c6b2..01ddc296b08 100644
+--- a/src/inspector_io.cc
++++ b/src/inspector_io.cc
+@@ -74,11 +74,11 @@ std::string StringViewToUtf8(const StringView& view) {
+ 
+   size_t result_length = view.length() * sizeof(*source);
+   std::string result(result_length, '\0');
+-  UnicodeString utf16(unicodeSource, view.length());
++  icu::UnicodeString utf16(unicodeSource, view.length());
+   // ICU components for std::string compatibility are not enabled in build...
+   bool done = false;
+   while (!done) {
+-    CheckedArrayByteSink sink(&result[0], result_length);
++    icu::CheckedArrayByteSink sink(&result[0], result_length);
+     utf16.toUTF8(sink);
+     result_length = sink.NumberOfBytesAppended();
+     result.resize(result_length);
+@@ -111,8 +111,9 @@ void ReleasePairOnAsyncClose(uv_handle_t* async) {
+ }  // namespace
+ 
+ std::unique_ptr<StringBuffer> Utf8ToStringView(const std::string& message) {
+-  UnicodeString utf16 =
+-      UnicodeString::fromUTF8(StringPiece(message.data(), message.length()));
++  icu::UnicodeString utf16 =
++    icu::UnicodeString::fromUTF8(icu::StringPiece(message.data(),
++      message.length()));
+   StringView view(reinterpret_cast<const uint16_t*>(utf16.getBuffer()),
+                   utf16.length());
+   return StringBuffer::create(view);
+diff --git a/src/node_i18n.cc b/src/node_i18n.cc
+index 71ae6a00033..d65fc55ed1f 100644
+--- a/src/node_i18n.cc
++++ b/src/node_i18n.cc
+@@ -523,7 +523,7 @@ const char* GetVersion(const char* type,
+   } else if (!strcmp(type, TYPE_UNICODE)) {
+     return U_UNICODE_VERSION;
+   } else if (!strcmp(type, TYPE_TZ)) {
+-    return TimeZone::getTZDataVersion(*status);
++    return icu::TimeZone::getTZDataVersion(*status);
+   } else if (!strcmp(type, TYPE_CLDR)) {
+     UVersionInfo versionArray;
+     ulocdata_getCLDRVersion(versionArray, status);
+diff --git a/tools/icu/iculslocs.cc b/tools/icu/iculslocs.cc
+index ca312b78356..3ceb8d2a4d8 100644
+--- a/tools/icu/iculslocs.cc
++++ b/tools/icu/iculslocs.cc
+@@ -64,7 +64,7 @@ int VERBOSE = 0;
+ #define RES_INDEX "res_index"
+ #define INSTALLEDLOCALES "InstalledLocales"
+ 
+-CharString packageName;
++icu::CharString packageName;
+ const char* locale = RES_INDEX;  // locale referring to our index
+ 
+ void usage() {
+@@ -147,7 +147,7 @@ int localeExists(const char* loc, UBool* exists) {
+   if (VERBOSE > 1) {
+     printf("Trying to open %s:%s\n", packageName.data(), loc);
+   }
+-  LocalUResourceBundlePointer aResource(
++  icu::LocalUResourceBundlePointer aResource(
+       ures_openDirect(packageName.data(), loc, &status));
+   *exists = FALSE;
+   if (U_SUCCESS(status)) {
+@@ -189,11 +189,11 @@ void printIndent(FILE* bf, int indent) {
+  * @return 0 for OK, 1 for err
+  */
+ int dumpAllButInstalledLocales(int lev,
+-                               LocalUResourceBundlePointer* bund,
++                               icu::LocalUResourceBundlePointer* bund,
+                                FILE* bf,
+                                UErrorCode* status) {
+   ures_resetIterator(bund->getAlias());
+-  LocalUResourceBundlePointer t;
++  icu::LocalUResourceBundlePointer t;
+   while (U_SUCCESS(*status) && ures_hasNext(bund->getAlias())) {
+     t.adoptInstead(ures_getNextResource(bund->getAlias(), t.orphan(), status));
+     ASSERT_SUCCESS(status, "while processing table");
+@@ -254,10 +254,10 @@ int list(const char* toBundle) {
+     printf("\"locale\": %s\n", locale);
+   }
+ 
+-  LocalUResourceBundlePointer bund(
++  icu::LocalUResourceBundlePointer bund(
+       ures_openDirect(packageName.data(), locale, &status));
+   ASSERT_SUCCESS(&status, "while opening the bundle");
+-  LocalUResourceBundlePointer installedLocales(
++  icu::LocalUResourceBundlePointer installedLocales(
+       // NOLINTNEXTLINE (readability/null_usage)
+       ures_getByKey(bund.getAlias(), INSTALLEDLOCALES, NULL, &status));
+   ASSERT_SUCCESS(&status, "while fetching installed locales");
+@@ -295,7 +295,7 @@ int list(const char* toBundle) {
+   }
+ 
+   // OK, now list them.
+-  LocalUResourceBundlePointer subkey;
++  icu::LocalUResourceBundlePointer subkey;
+ 
+   int validCount = 0;
+   for (int32_t i = 0; i < count; i++) {



More information about the arch-commits mailing list