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 , Adrian Panella 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 -Date: Sat, 4 Mar 2017 20:41:40 +0000 -Subject: [PATCH] check if uclibc has backtrace support - -Signed-off-by: Martin Bark ---- - 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 - #include - --#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 - Jianghua Yang - Jiawen Geng -+Jiaxun Yang - Joel Stanley - Johan Bergström - Jonathan Liu ---- 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(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(data); -+ break; -+ case 8: -+ low = *reinterpret_cast(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;