From 2aa5671e671e159ab85038e97cceac7eb3bd9966 Mon Sep 17 00:00:00 2001
From: Hirokazu MORIKAWA <morikw2@gmail.com>
Date: Thu, 10 Dec 2020 14:51:08 +0900
Subject: [PATCH] node: update to v14.15.1

Update to v14.15.1

Signed-off-by: Hirokazu MORIKAWA <morikw2@gmail.com>
---
 lang/node/Makefile                            |   7 +-
 lang/node/patches/001-hardfloat.patch         |  10 -
 lang/node/patches/003-path.patch              |   2 +-
 lang/node/patches/004-musl_support.patch      |   2 +-
 ...heck-if-uclibc-has-backtrace-support.patch |  26 ---
 .../patches/007-fix_host_build_on_macos.patch |   2 +-
 ...necessary_libraries_for_host_execute.patch |  18 +-
 .../patches/999-localhost-no-addrconfig.patch |   2 +-
 lang/node/patches/999-mips-fix.patch          | 210 ------------------
 9 files changed, 16 insertions(+), 263 deletions(-)
 delete mode 100644 lang/node/patches/001-hardfloat.patch
 delete mode 100644 lang/node/patches/005-check-if-uclibc-has-backtrace-support.patch
 delete mode 100644 lang/node/patches/999-mips-fix.patch

diff --git a/lang/node/Makefile b/lang/node/Makefile
index b645b003d..708e0d650 100644
--- a/lang/node/Makefile
+++ b/lang/node/Makefile
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=node
-PKG_VERSION:=v12.20.0
+PKG_VERSION:=v14.15.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://nodejs.org/dist/$(PKG_VERSION)
-PKG_HASH:=61e3fd5c9af565e8d25403ce56b2c0097e2e3270381f2d4216573d48b3dc428b
+PKG_HASH:=0161436846f7578938ad87af197e0cf112452232723227f88d5a0efc34dec1bc
 
 PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>, Adrian Panella <ianchi74@outlook.com>
 PKG_LICENSE:=MIT
@@ -116,8 +116,7 @@ CONFIGURE_ARGS:= \
 	--shared-nghttp2 \
 	--shared-libuv \
 	--shared-cares \
-	$(if $(CONFIG_NODEJS_ICU_SMALL),, \
-		--with-intl=$(if $(CONFIG_NODEJS_ICU_SYSTEM),system-icu,none)) \
+	--with-intl=$(if $(CONFIG_NODEJS_ICU_SMALL),small-icu,$(if $(CONFIG_NODEJS_ICU_SYSTEM),system-icu,none)) \
 	$(if $(findstring +neon,$(CONFIG_CPU_TYPE)),--with-arm-fpu=neon) \
 	$(if $(findstring +vfp",$(CONFIG_CPU_TYPE)),--with-arm-fpu=vfp) \
 	$(if $(findstring +vfpv3",$(CONFIG_CPU_TYPE)),--with-arm-fpu=vfpv3-d16) \
diff --git a/lang/node/patches/001-hardfloat.patch b/lang/node/patches/001-hardfloat.patch
deleted file mode 100644
index 6c879f779..000000000
--- a/lang/node/patches/001-hardfloat.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/deps/v8/src/base/cpu.cc
-+++ b/deps/v8/src/base/cpu.cc
-@@ -143,6 +143,7 @@
-       ".set push\n\t"
-       ".set noreorder\n\t"
-       ".set oddspreg\n\t"
-+      ".set hardfloat\n\t"
-       "lui $t0, 0x3FF0\n\t"
-       "ldc1 $f0, %0\n\t"
-       "mtc1 $t0, $f1\n\t"
diff --git a/lang/node/patches/003-path.patch b/lang/node/patches/003-path.patch
index 98d0b1ead..3c19676a8 100644
--- a/lang/node/patches/003-path.patch
+++ b/lang/node/patches/003-path.patch
@@ -1,6 +1,6 @@
 --- a/lib/internal/modules/cjs/loader.js
 +++ b/lib/internal/modules/cjs/loader.js
-@@ -1109,7 +1109,8 @@
+@@ -1179,7 +1179,8 @@
      path.resolve(process.execPath, '..') :
      path.resolve(process.execPath, '..', '..');
  
diff --git a/lang/node/patches/004-musl_support.patch b/lang/node/patches/004-musl_support.patch
index 77d8bec68..17c10b6d8 100644
--- a/lang/node/patches/004-musl_support.patch
+++ b/lang/node/patches/004-musl_support.patch
@@ -22,7 +22,7 @@ diff -urN a/deps/v8/src/base/platform/condition-variable.cc b/deps/v8/src/base/p
 diff -urN a/deps/v8/src/base/platform/platform-posix.cc b/deps/v8/src/base/platform/platform-posix.cc
 --- a/deps/v8/src/base/platform/platform-posix.cc	2020-09-30 01:58:13.000000000 +0900
 +++ b/deps/v8/src/base/platform/platform-posix.cc	2020-10-06 09:04:33.341499270 +0900
-@@ -772,7 +772,7 @@
+@@ -823,7 +823,7 @@
  #if V8_OS_MACOSX
      // Default on Mac OS X is 512kB -- bump up to 1MB
      stack_size = 1 * 1024 * 1024;
diff --git a/lang/node/patches/005-check-if-uclibc-has-backtrace-support.patch b/lang/node/patches/005-check-if-uclibc-has-backtrace-support.patch
deleted file mode 100644
index 079bbb436..000000000
--- a/lang/node/patches/005-check-if-uclibc-has-backtrace-support.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 7c69553d7275bbcaa88fada8ccd0d2d9f787e1ad Mon Sep 17 00:00:00 2001
-From: Martin Bark <martin@barkynet.com>
-Date: Sat, 4 Mar 2017 20:41:40 +0000
-Subject: [PATCH] check if uclibc has backtrace support
-
-Signed-off-by: Martin Bark <martin@barkynet.com>
----
- deps/v8/src/base/debug/stack_trace_posix.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/deps/v8/src/base/debug/stack_trace_posix.cc b/deps/v8/src/base/debug/stack_trace_posix.cc
-index 87c0a73..d2c182a 100644
---- a/deps/v8/src/base/debug/stack_trace_posix.cc
-+++ b/deps/v8/src/base/debug/stack_trace_posix.cc
-@@ -25,7 +25,7 @@
- #include <string>
- #include <vector>
- 
--#if V8_LIBC_GLIBC || V8_LIBC_BSD || V8_LIBC_UCLIBC || V8_OS_SOLARIS
-+#if V8_LIBC_GLIBC || V8_LIBC_BSD || ( V8_LIBC_UCLIBC && __UCLIBC_HAS_BACKTRACE__ ) || V8_OS_SOLARIS
- #define HAVE_EXECINFO_H 1
- #endif
- 
--- 
-2.7.4
-
diff --git a/lang/node/patches/007-fix_host_build_on_macos.patch b/lang/node/patches/007-fix_host_build_on_macos.patch
index 486d2ffd0..ddf25db33 100644
--- a/lang/node/patches/007-fix_host_build_on_macos.patch
+++ b/lang/node/patches/007-fix_host_build_on_macos.patch
@@ -1,6 +1,6 @@
 --- a/tools/gyp/pylib/gyp/generator/make.py
 +++ b/tools/gyp/pylib/gyp/generator/make.py
-@@ -176,7 +176,7 @@
+@@ -180,7 +180,7 @@
  
  LINK_COMMANDS_MAC = """\
  quiet_cmd_alink = LIBTOOL-STATIC $@
diff --git a/lang/node/patches/999-delete_unnecessary_libraries_for_host_execute.patch b/lang/node/patches/999-delete_unnecessary_libraries_for_host_execute.patch
index 6564b177f..3d8d2340d 100644
--- a/lang/node/patches/999-delete_unnecessary_libraries_for_host_execute.patch
+++ b/lang/node/patches/999-delete_unnecessary_libraries_for_host_execute.patch
@@ -1,6 +1,6 @@
 --- a/tools/icu/icu-generic.gyp
 +++ b/tools/icu/icu-generic.gyp
-@@ -517,6 +517,7 @@
+@@ -522,6 +522,7 @@
        'target_name': 'genrb',
        'type': 'executable',
        'toolsets': [ 'host' ],
@@ -8,7 +8,7 @@
        'dependencies': [ 'icutools' ],
        'sources': [
          '<@(icu_src_genrb)'
-@@ -533,6 +534,7 @@
+@@ -538,6 +539,7 @@
        'target_name': 'iculslocs',
        'toolsets': [ 'host' ],
        'type': 'executable',
@@ -16,7 +16,7 @@
        'dependencies': [ 'icutools' ],
        'sources': [
          'iculslocs.cc',
-@@ -545,6 +547,7 @@
+@@ -550,6 +552,7 @@
        'target_name': 'icupkg',
        'toolsets': [ 'host' ],
        'type': 'executable',
@@ -24,7 +24,7 @@
        'dependencies': [ 'icutools' ],
        'sources': [
          '<@(icu_src_icupkg)',
-@@ -556,6 +559,7 @@
+@@ -561,6 +564,7 @@
        'target_name': 'genccode',
        'toolsets': [ 'host' ],
        'type': 'executable',
@@ -34,7 +34,7 @@
          '<@(icu_src_genccode)',
 --- a/tools/v8_gypfiles/v8.gyp	2019-06-27 19:12:20.000000000 +0900
 +++ b/tools/v8_gypfiles/v8.gyp	2019-07-01 14:40:48.292020880 +0900
-@@ -1255,6 +1255,7 @@
+@@ -1310,6 +1310,7 @@
      {
        'target_name': 'bytecode_builtins_list_generator',
        'type': 'executable',
@@ -42,7 +42,7 @@
        'conditions': [
          ['want_separate_host_toolset', {
            'toolsets': ['host'],
-@@ -1278,6 +1279,8 @@
+@@ -1333,6 +1334,8 @@
      {
        'target_name': 'mksnapshot',
        'type': 'executable',
@@ -51,7 +51,7 @@
        'dependencies': [
          'v8_base_without_compiler',
          'v8_compiler_for_mksnapshot',
-@@ -1300,6 +1303,7 @@
+@@ -1354,6 +1357,7 @@
      {
        'target_name': 'torque',
        'type': 'executable',
@@ -59,7 +59,7 @@
        'dependencies': [
          'torque_base',
          # "build/win:default_exe_manifest",
-@@ -1338,6 +1342,7 @@
+@@ -1392,6 +1396,7 @@
      {
        'target_name': 'torque-language-server',
        'type': 'executable',
@@ -67,7 +67,7 @@
        'conditions': [
          ['want_separate_host_toolset', {
            'toolsets': ['host'],
-@@ -1365,6 +1370,8 @@
+@@ -1419,6 +1424,8 @@
      {
        'target_name': 'gen-regexp-special-case',
        'type': 'executable',
diff --git a/lang/node/patches/999-localhost-no-addrconfig.patch b/lang/node/patches/999-localhost-no-addrconfig.patch
index 4d1197321..d66bc89f2 100644
--- a/lang/node/patches/999-localhost-no-addrconfig.patch
+++ b/lang/node/patches/999-localhost-no-addrconfig.patch
@@ -13,7 +13,7 @@ Forwarded: https://github.com/nodejs/node/issues/33816
  //
  // Permission is hereby granted, free of charge, to any person obtaining a
  // copy of this software and associated documentation files (the
-@@ -1028,13 +1029,6 @@
+@@ -1026,13 +1027,6 @@
      hints: options.hints || 0
    };
  
diff --git a/lang/node/patches/999-mips-fix.patch b/lang/node/patches/999-mips-fix.patch
deleted file mode 100644
index 33a2eacfd..000000000
--- a/lang/node/patches/999-mips-fix.patch
+++ /dev/null
@@ -1,210 +0,0 @@
-Description: upstream mips fix
-Origin: https://github.com/nodejs/node/issues/31118
-Last-Update: 2020-05-30
-
---- a/deps/v8/AUTHORS
-+++ b/deps/v8/AUTHORS
-@@ -106,6 +106,7 @@
- James M Snell <jasnell@gmail.com>
- Jianghua Yang <jianghua.yjh@alibaba-inc.com>
- Jiawen Geng <technicalcute@gmail.com>
-+Jiaxun Yang <jiaxun.yang@flygoat.com>
- Joel Stanley <joel@jms.id.au>
- Johan Bergström <johan@bergstroem.nu>
- Jonathan Liu <net147@gmail.com>
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-aix.cc
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-aix.cc
-@@ -94,10 +94,6 @@
- 
- void PlatformEmbeddedFileWriterAIX::DeclareFunctionEnd(const char* name) {}
- 
--int PlatformEmbeddedFileWriterAIX::HexLiteral(uint64_t value) {
--  return fprintf(fp_, "0x%" PRIx64, value);
--}
--
- void PlatformEmbeddedFileWriterAIX::FilePrologue() {}
- 
- void PlatformEmbeddedFileWriterAIX::DeclareExternalFilename(
-@@ -120,12 +116,6 @@
-   return kLong;
- }
- 
--int PlatformEmbeddedFileWriterAIX::WriteByteChunk(const uint8_t* data) {
--  DCHECK_EQ(ByteChunkDataDirective(), kLong);
--  const uint32_t* long_ptr = reinterpret_cast<const uint32_t*>(data);
--  return HexLiteral(*long_ptr);
--}
--
- #undef SYMBOL_PREFIX
- 
- }  // namespace internal
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-aix.h
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-aix.h
-@@ -37,8 +37,6 @@
-   void DeclareFunctionBegin(const char* name) override;
-   void DeclareFunctionEnd(const char* name) override;
- 
--  int HexLiteral(uint64_t value) override;
--
-   void Comment(const char* string) override;
- 
-   void FilePrologue() override;
-@@ -48,7 +46,6 @@
-   int IndentedDataDirective(DataDirective directive) override;
- 
-   DataDirective ByteChunkDataDirective() const override;
--  int WriteByteChunk(const uint8_t* data) override;
- 
-  private:
-   void DeclareSymbolGlobal(const char* name);
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.cc
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.cc
-@@ -24,6 +24,10 @@
-   }
- }
- 
-+int PlatformEmbeddedFileWriterBase::HexLiteral(uint64_t value) {
-+  return fprintf(fp_, "0x%" PRIx64, value);
-+}
-+
- int DataDirectiveSize(DataDirective directive) {
-   switch (directive) {
-     case kByte:
-@@ -39,24 +43,37 @@
- }
- 
- int PlatformEmbeddedFileWriterBase::WriteByteChunk(const uint8_t* data) {
--  DCHECK_EQ(ByteChunkDataDirective(), kOcta);
--
--  static constexpr size_t kSize = kInt64Size;
--
--  uint64_t part1, part2;
--  // Use memcpy for the reads since {data} is not guaranteed to be aligned.
-+  size_t kSize = DataDirectiveSize(ByteChunkDataDirective());
-+  size_t kHalfSize = kSize / 2;
-+  uint64_t high = 0, low = 0;
-+
-+  switch (kSize) {
-+    case 1:
-+      low = *data;
-+      break;
-+    case 4:
-+      low = *reinterpret_cast<const uint32_t*>(data);
-+      break;
-+    case 8:
-+      low = *reinterpret_cast<const uint64_t*>(data);
-+      break;
-+    case 16:
- #ifdef V8_TARGET_BIG_ENDIAN
--  memcpy(&part1, data, kSize);
--  memcpy(&part2, data + kSize, kSize);
-+      memcpy(&high, data, kHalfSize);
-+      memcpy(&low, data + kHalfSize, kHalfSize);
- #else
--  memcpy(&part1, data + kSize, kSize);
--  memcpy(&part2, data, kSize);
-+      memcpy(&high, data + kHalfSize, kHalfSize);
-+      memcpy(&low, data, kHalfSize);
- #endif  // V8_TARGET_BIG_ENDIAN
-+      break;
-+    default:
-+      UNREACHABLE();
-+  }
- 
--  if (part1 != 0) {
--    return fprintf(fp(), "0x%" PRIx64 "%016" PRIx64, part1, part2);
-+  if (high != 0) {
-+    return fprintf(fp(), "0x%" PRIx64 "%016" PRIx64, high, low);
-   } else {
--    return fprintf(fp(), "0x%" PRIx64, part2);
-+    return fprintf(fp(), "0x%" PRIx64, low);
-   }
- }
- 
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.h
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.h
-@@ -67,7 +67,7 @@
-   virtual void DeclareFunctionEnd(const char* name) = 0;
- 
-   // Returns the number of printed characters.
--  virtual int HexLiteral(uint64_t value) = 0;
-+  virtual int HexLiteral(uint64_t value);
- 
-   virtual void Comment(const char* string) = 0;
-   virtual void Newline() { fprintf(fp_, "\n"); }
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc
-@@ -112,10 +112,6 @@
- 
- void PlatformEmbeddedFileWriterGeneric::DeclareFunctionEnd(const char* name) {}
- 
--int PlatformEmbeddedFileWriterGeneric::HexLiteral(uint64_t value) {
--  return fprintf(fp_, "0x%" PRIx64, value);
--}
--
- void PlatformEmbeddedFileWriterGeneric::FilePrologue() {}
- 
- void PlatformEmbeddedFileWriterGeneric::DeclareExternalFilename(
-@@ -142,6 +138,18 @@
-   return fprintf(fp_, "  %s ", DirectiveAsString(directive));
- }
- 
-+DataDirective PlatformEmbeddedFileWriterGeneric::ByteChunkDataDirective()
-+    const {
-+#if defined(V8_TARGET_ARCH_MIPS) || defined(V8_TARGET_ARCH_MIPS64)
-+  // MIPS uses a fixed 4 byte instruction set, using .long
-+  // to prevent any unnecessary padding.
-+  return kLong;
-+#else
-+  // Other ISAs just listen to the base
-+  return PlatformEmbeddedFileWriterBase::ByteChunkDataDirective();
-+#endif
-+}
-+
- #undef SYMBOL_PREFIX
- 
- }  // namespace internal
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.h
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.h
-@@ -39,8 +39,6 @@
-   void DeclareFunctionBegin(const char* name) override;
-   void DeclareFunctionEnd(const char* name) override;
- 
--  int HexLiteral(uint64_t value) override;
--
-   void Comment(const char* string) override;
- 
-   void FilePrologue() override;
-@@ -49,6 +47,8 @@
- 
-   int IndentedDataDirective(DataDirective directive) override;
- 
-+  DataDirective ByteChunkDataDirective() const override;
-+
-  private:
-   void DeclareSymbolGlobal(const char* name);
- 
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.cc
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.cc
-@@ -87,10 +87,6 @@
- 
- void PlatformEmbeddedFileWriterMac::DeclareFunctionEnd(const char* name) {}
- 
--int PlatformEmbeddedFileWriterMac::HexLiteral(uint64_t value) {
--  return fprintf(fp_, "0x%" PRIx64, value);
--}
--
- void PlatformEmbeddedFileWriterMac::FilePrologue() {}
- 
- void PlatformEmbeddedFileWriterMac::DeclareExternalFilename(
---- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.h
-+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.h
-@@ -37,8 +37,6 @@
-   void DeclareFunctionBegin(const char* name) override;
-   void DeclareFunctionEnd(const char* name) override;
- 
--  int HexLiteral(uint64_t value) override;
--
-   void Comment(const char* string) override;
- 
-   void FilePrologue() override;