node: update to v12.19.0
authorHirokazu MORIKAWA <redacted>
Sun, 8 Nov 2020 07:00:12 +0000 (16:00 +0900)
committerHirokazu MORIKAWA <redacted>
Sun, 8 Nov 2020 07:00:12 +0000 (16:00 +0900)
Update to v12.19.0
Fixes for the removal of MIPS FPU emulator support.

Signed-off-by: Hirokazu MORIKAWA <redacted>
lang/node/Makefile
lang/node/patches/002-addr_info.patch [deleted file]
lang/node/patches/003-path.patch
lang/node/patches/004-musl_support.patch
lang/node/patches/005-check-if-uclibc-has-backtrace-support.patch [new file with mode: 0644]
lang/node/patches/006-mips64_support.patch [deleted file]
lang/node/patches/008-deps_v8_fix_big_endian.patch [deleted file]
lang/node/patches/999-localhost-no-addrconfig.patch
lang/node/patches/999-mips-less-memory.patch [deleted file]
lang/node/patches/999-v8_this_build_method_will_be_deprecated.patch [deleted file]

index 9b7f85ed5b9c13925e3e377b13b14380358ed173..947918256d4c059044878dfdf92ad0c701afd8e0 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=node
-PKG_VERSION:=v12.18.4
+PKG_VERSION:=v12.19.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://nodejs.org/dist/$(PKG_VERSION)
-PKG_HASH:=25f03cb18e53b6d0959d0c219e701a85eb4693f526bdda7c72bc6199b364f609
+PKG_HASH:=3b671c45c493f96d7e018c15110cdbafa4478e5e5cfc9e6eec83cea9e6b551e1
 
 PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>, Adrian Panella <ianchi74@outlook.com>
 PKG_LICENSE:=MIT
@@ -38,8 +38,8 @@ define Package/node
   SUBMENU:=Node.js
   TITLE:=Node.js is a platform built on Chrome's JavaScript runtime
   URL:=https://nodejs.org/
-  DEPENDS:=@(HAS_FPU||KERNEL_MIPS_FPU_EMULATOR) @!arc @!armeb @!powerpc \
-          +libstdcpp +libopenssl +zlib +libnghttp2 +libuv +libhttp-parser \
+  DEPENDS:=@HAS_FPU @(i386||x86_64||arm||aarch64||mipsel) \
+          +libstdcpp +libopenssl +zlib +libnghttp2 +libuv \
           +libcares +libatomic +NODEJS_ICU_SYSTEM:icu +NODEJS_ICU_SYSTEM:icu-full-data
 endef
 
@@ -79,17 +79,16 @@ define Package/node/config
                        bool "Disable"
 
                config NODEJS_ICU_SMALL
-                       depends on !BIG_ENDIAN
                        bool "small-icu"
 
                config NODEJS_ICU_SYSTEM
-                       depends on ARCH_64BIT&&!BIG_ENDIAN
+                       depends on ARCH_64BIT
                        bool "system-icu"
        endchoice
        endif
 endef
 
-NODEJS_CPU:=$(subst powerpc,ppc,$(subst aarch64,arm64,$(subst x86_64,x64,$(subst i386,ia32,$(ARCH)))))
+NODEJS_CPU:=$(subst aarch64,arm64,$(subst x86_64,x64,$(subst i386,ia32,$(ARCH))))
 
 ifneq ($(CONFIG_ARCH_64BIT),y)
 FORCE_32BIT:=-m32
@@ -97,8 +96,11 @@ endif
 
 MAKE_VARS+= \
        DESTCPU=$(NODEJS_CPU) \
+       NO_LOAD='cctest.target.mk embedtest.target.mk node_mksnapshot.target.mk' \
        LD_LIBRARY_PATH=$(STAGING_DIR_HOSTPKG)/share/icu/current/lib
 
+HOST_MAKE_VARS+=NO_LOAD='cctest.target.mk embedtest.target.mk'
+
 CONFIGURE_VARS:= \
        CC="$(TARGET_CC) $(TARGET_OPTIMIZATION)" \
        CXX="$(TARGET_CXX) $(TARGET_OPTIMIZATION)" \
@@ -113,12 +115,9 @@ CONFIGURE_ARGS:= \
        --shared-openssl \
        --shared-nghttp2 \
        --shared-libuv \
-       --shared-http-parser \
        --shared-cares \
        $(if $(CONFIG_NODEJS_ICU_SMALL),, \
                --with-intl=$(if $(CONFIG_NODEJS_ICU_SYSTEM),system-icu,none)) \
-       $(if $(findstring mips,$(NODEJS_CPU)), \
-               $(if $(CONFIG_SOFT_FLOAT),--with-mips-float-abi=soft)) \
        $(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/002-addr_info.patch b/lang/node/patches/002-addr_info.patch
deleted file mode 100644 (file)
index 4a0f709..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/deps/uv/src/unix/getaddrinfo.c
-+++ b/deps/uv/src/unix/getaddrinfo.c
-@@ -103,6 +103,7 @@
-   int err;
-   req = container_of(w, uv_getaddrinfo_t, work_req);
-+  req->hints->ai_flags &= ~AI_V4MAPPED;
-   err = getaddrinfo(req->hostname, req->service, req->hints, &req->addrinfo);
-   req->retcode = uv__getaddrinfo_translate_error(err);
- }
index c49fa7912e4648fac3496ae8a64b55f70ca5494d..8becfa1b6a3acc8450c6ee72b0d7003331565d57 100644 (file)
@@ -1,6 +1,6 @@
 --- a/lib/internal/modules/cjs/loader.js
 +++ b/lib/internal/modules/cjs/loader.js
-@@ -1239,7 +1239,8 @@
+@@ -1117,7 +1117,8 @@
      path.resolve(process.execPath, '..') :
      path.resolve(process.execPath, '..', '..');
  
index ea7baff131420ecb89ed3577dd7a8097ecde6b97..77d8bec68dbc37a173831d3d11095d9e3d35c58a 100644 (file)
@@ -1,6 +1,6 @@
 diff -urN a/deps/v8/src/base/platform/condition-variable.cc b/deps/v8/src/base/platform/condition-variable.cc
---- a/deps/v8/src/base/platform/condition-variable.cc  2019-09-05 00:36:23.000000000 +0900
-+++ b/deps/v8/src/base/platform/condition-variable.cc  2019-09-12 15:10:01.063792083 +0900
+--- a/deps/v8/src/base/platform/condition-variable.cc  2020-09-30 01:58:13.000000000 +0900
++++ b/deps/v8/src/base/platform/condition-variable.cc  2020-10-06 09:04:33.341499270 +0900
 @@ -16,7 +16,7 @@
  
  ConditionVariable::ConditionVariable() {
@@ -20,8 +20,8 @@ diff -urN a/deps/v8/src/base/platform/condition-variable.cc b/deps/v8/src/base/p
    // source for pthread_cond_timedwait() to use the monotonic clock.
    result = clock_gettime(CLOCK_MONOTONIC, &ts);
 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      2019-09-05 00:36:23.000000000 +0900
-+++ b/deps/v8/src/base/platform/platform-posix.cc      2019-09-12 15:10:01.063792083 +0900
+--- 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 @@
  #if V8_OS_MACOSX
      // Default on Mac OS X is 512kB -- bump up to 1MB
@@ -32,8 +32,8 @@ diff -urN a/deps/v8/src/base/platform/platform-posix.cc b/deps/v8/src/base/platf
      stack_size = 2 * 1024 * 1024;
  #endif
 diff -urN a/deps/v8/src/codegen/external-reference-table.cc b/deps/v8/src/codegen/external-reference-table.cc
---- a/deps/v8/src/codegen/external-reference-table.cc  2019-09-05 00:36:23.000000000 +0900
-+++ b/deps/v8/src/codegen/external-reference-table.cc  2019-09-12 15:09:41.959828134 +0900
+--- a/deps/v8/src/codegen/external-reference-table.cc  2020-09-30 01:58:13.000000000 +0900
++++ b/deps/v8/src/codegen/external-reference-table.cc  2020-10-06 09:04:33.345499241 +0900
 @@ -9,7 +9,7 @@
  #include "src/ic/stub-cache.h"
  #include "src/logging/counters.h"
@@ -43,19 +43,3 @@ diff -urN a/deps/v8/src/codegen/external-reference-table.cc b/deps/v8/src/codege
  #define SYMBOLIZE_FUNCTION
  #include <execinfo.h>
  #include <vector>
-diff -urN a/deps/v8/src/compiler-dispatcher/optimizing-compile-dispatcher.cc b/deps/v8/src/compiler-dispatcher/optimizing-compile-dispatcher.cc
---- a/deps/v8/src/compiler-dispatcher/optimizing-compile-dispatcher.cc 2019-09-05 00:36:23.000000000 +0900
-+++ b/deps/v8/src/compiler-dispatcher/optimizing-compile-dispatcher.cc 2019-09-12 15:10:01.063792083 +0900
-@@ -134,8 +134,10 @@
-     // The function may have already been optimized by OSR.  Simply continue.
-     // Use a mutex to make sure that functions marked for install
-     // are always also queued.
--    base::MutexGuard access_output_queue_(&output_queue_mutex_);
--    output_queue_.push(job);
-+    {
-+      base::MutexGuard access_output_queue_(&output_queue_mutex_);
-+      output_queue_.push(job);
-+    }
-   }
-   isolate_->stack_guard()->RequestInstallCode();
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
new file mode 100644 (file)
index 0000000..079bbb4
--- /dev/null
@@ -0,0 +1,26 @@
+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/006-mips64_support.patch b/lang/node/patches/006-mips64_support.patch
deleted file mode 100644 (file)
index b4d72c3..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/configure.py
-+++ b/configure.py
-@@ -48,7 +48,7 @@
- valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux',
-             'android', 'aix', 'cloudabi')
--valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', 'ppc',
-+valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64', 'mips64el', 'ppc',
-               'ppc64', 'x32','x64', 'x86', 'x86_64', 's390x')
- valid_arm_float_abi = ('soft', 'softfp', 'hard')
- valid_arm_fpu = ('vfp', 'vfpv3', 'vfpv3-d16', 'neon')
-@@ -956,6 +956,9 @@
-   if rtn == 'mipsel' and '_LP64' in k:
-     rtn = 'mips64el'
-+  if rtn == 'mips' and '_LP64' in k:
-+    rtn = 'mips64'
-+
-   return rtn
-@@ -1063,7 +1066,7 @@
-   if target_arch == 'arm':
-     configure_arm(o)
--  elif target_arch in ('mips', 'mipsel', 'mips64el'):
-+  elif target_arch in ('mips', 'mipsel', 'mips64', 'mips64el'):
-     configure_mips(o, target_arch)
-   if flavor == 'aix':
diff --git a/lang/node/patches/008-deps_v8_fix_big_endian.patch b/lang/node/patches/008-deps_v8_fix_big_endian.patch
deleted file mode 100644 (file)
index 040e2e6..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/deps/v8/src/runtime/runtime-utils.h
-+++ b/deps/v8/src/runtime/runtime-utils.h
-@@ -126,7 +126,7 @@
- #if defined(V8_TARGET_LITTLE_ENDIAN)
-   return x.ptr() | (static_cast<ObjectPair>(y.ptr()) << 32);
- #elif defined(V8_TARGET_BIG_ENDIAN)
--  return y->ptr() | (static_cast<ObjectPair>(x->ptr()) << 32);
-+  return y.ptr() | (static_cast<ObjectPair>(x.ptr()) << 32);
- #else
- #error Unknown endianness
- #endif
index 4d11973216c057d603a587024e877edeb34f651f..d07d5b8145c6b83184637950fdd0342b34f22395 100644 (file)
@@ -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 @@
+@@ -1029,13 +1030,6 @@
      hints: options.hints || 0
    };
  
diff --git a/lang/node/patches/999-mips-less-memory.patch b/lang/node/patches/999-mips-less-memory.patch
deleted file mode 100644 (file)
index 605b942..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-Description: mksnapshot uses too much memory on 32-bit mipsel
-Author: Jérémy Lal <kapouer@melix.org>
-Last-Update: 2020-06-03
-Forwarded: https://bugs.chromium.org/p/v8/issues/detail?id=10586
---- a/deps/v8/src/common/globals.h
-+++ b/deps/v8/src/common/globals.h
-@@ -206,7 +206,7 @@
- constexpr size_t kMinExpectedOSPageSize = 64 * KB;  // OS page on PPC Linux
- #elif V8_TARGET_ARCH_MIPS
- constexpr bool kRequiresCodeRange = false;
--constexpr size_t kMaximalCodeRangeSize = 2048LL * MB;
-+constexpr size_t kMaximalCodeRangeSize = 512 * MB;
- constexpr size_t kMinimumCodeRangeSize = 0 * MB;
- constexpr size_t kMinExpectedOSPageSize = 4 * KB;  // OS page.
- #else
---- a/deps/v8/src/codegen/mips/constants-mips.h
-+++ b/deps/v8/src/codegen/mips/constants-mips.h
-@@ -137,7 +137,7 @@
- namespace v8 {
- namespace internal {
--constexpr size_t kMaxPCRelativeCodeRangeInMB = 4096;
-+constexpr size_t kMaxPCRelativeCodeRangeInMB = 1024;
- // -----------------------------------------------------------------------------
- // Registers and FPURegisters.
diff --git a/lang/node/patches/999-v8_this_build_method_will_be_deprecated.patch b/lang/node/patches/999-v8_this_build_method_will_be_deprecated.patch
deleted file mode 100644 (file)
index c00891f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -urN a/configure.py b/configure.py
---- a/configure.py     2019-09-05 00:36:21.000000000 +0900
-+++ b/configure.py     2019-09-27 11:49:55.445800884 +0900
-@@ -1276,6 +1276,15 @@
-     options.build_v8_with_gn = FetchDeps(v8_path)
-   o['variables']['build_v8_with_gn'] = b(options.build_v8_with_gn)
-+def configure_v8_deprecated(o):
-+  target_arch = options.dest_cpu
-+  if target_arch == 'x86':
-+    target_arch = 'ia32'
-+  if target_arch == 'x86_64':
-+    target_arch = 'x64'
-+
-+  if target_arch in ('mips', 'mips64'):
-+    o['variables']['v8_use_snapshot'] = 'false'
- def configure_openssl(o):
-   variables = o['variables']
-@@ -1713,6 +1732,7 @@
- configure_intl(output)
- configure_static(output)
- configure_inspector(output)
-+configure_v8_deprecated(output)
- # variables should be a root level element,
- # move everything else to target_defaults
git clone https://git.99rst.org/PROJECT