diff --git a/packages/nodejs/avoid-ficlone-ioctl.patch b/packages/nodejs/avoid-ficlone-ioctl.patch index b207e0f43c..1e8ae6a5a2 100644 --- a/packages/nodejs/avoid-ficlone-ioctl.patch +++ b/packages/nodejs/avoid-ficlone-ioctl.patch @@ -1,6 +1,6 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/deps/uv/src/unix/fs.c node-v17.8.0/deps/uv/src/unix/fs.c ---- node-v17.8.0.orig/deps/uv/src/unix/fs.c 2022-03-26 22:11:02.595459286 +0530 -+++ node-v17.8.0/deps/uv/src/unix/fs.c 2022-03-26 22:11:44.455459270 +0530 +diff '--color=auto' -uNr node-v18.0.0.orig/deps/uv/src/unix/fs.c node-v18.0.0/deps/uv/src/unix/fs.c +--- node-v18.0.0.orig/deps/uv/src/unix/fs.c 2022-04-21 15:15:32.641869790 +0530 ++++ node-v18.0.0/deps/uv/src/unix/fs.c 2022-04-21 15:28:38.058124015 +0530 @@ -1339,6 +1339,7 @@ #endif /* !__linux__ */ } diff --git a/packages/nodejs/build.sh b/packages/nodejs/build.sh index 252296bbd8..7b995b55cb 100644 --- a/packages/nodejs/build.sh +++ b/packages/nodejs/build.sh @@ -2,10 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://nodejs.org/ TERMUX_PKG_DESCRIPTION="Open Source, cross-platform JavaScript runtime environment" TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="Yaksh Bariya " -TERMUX_PKG_VERSION=17.9.0 -TERMUX_PKG_REVISION=1 +TERMUX_PKG_VERSION=18.2.0 TERMUX_PKG_SRCURL=https://nodejs.org/dist/v${TERMUX_PKG_VERSION}/node-v${TERMUX_PKG_VERSION}.tar.xz -TERMUX_PKG_SHA256=5659f6da66dc4c959f59ab63e8b9171892847c3440f4d1cb68394dba67ca39e0 +TERMUX_PKG_SHA256=2305b15ebf5547474e905b5002f9ba99c7eeef01d7394dfe6f3846cc6bcad66d # Note that we do not use a shared libuv to avoid an issue with the Android # linker, which does not use symbols of linked shared libraries when resolving # symbols on dlopen(). See https://github.com/termux/termux-packages/issues/462. diff --git a/packages/nodejs/deps-uv-src-unix-core.c.patch b/packages/nodejs/deps-uv-src-unix-core.c.patch index 05492fb089..cf21baec36 100644 --- a/packages/nodejs/deps-uv-src-unix-core.c.patch +++ b/packages/nodejs/deps-uv-src-unix-core.c.patch @@ -1,6 +1,6 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/deps/uv/src/unix/core.c node-v17.8.0/deps/uv/src/unix/core.c ---- node-v17.8.0.orig/deps/uv/src/unix/core.c 2022-03-26 22:11:02.595459286 +0530 -+++ node-v17.8.0/deps/uv/src/unix/core.c 2022-03-26 22:11:54.085459266 +0530 +diff '--color=auto' -uNr node-v18.0.0.orig/deps/uv/src/unix/core.c node-v18.0.0/deps/uv/src/unix/core.c +--- node-v18.0.0.orig/deps/uv/src/unix/core.c 2022-04-21 15:15:32.621869790 +0530 ++++ node-v18.0.0/deps/uv/src/unix/core.c 2022-04-21 15:29:22.728123998 +0530 @@ -1125,7 +1125,7 @@ /* No temp environment variables defined */ diff --git a/packages/nodejs/deps-uv-src-unix-process.c.patch b/packages/nodejs/deps-uv-src-unix-process.c.patch index 8bef3b4bb9..e58eed1d93 100644 --- a/packages/nodejs/deps-uv-src-unix-process.c.patch +++ b/packages/nodejs/deps-uv-src-unix-process.c.patch @@ -1,6 +1,6 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/deps/uv/src/unix/process.c node-v17.8.0/deps/uv/src/unix/process.c ---- node-v17.8.0.orig/deps/uv/src/unix/process.c 2022-03-26 22:11:02.595459286 +0530 -+++ node-v17.8.0/deps/uv/src/unix/process.c 2022-03-26 22:12:00.385459264 +0530 +diff '--color=auto' -uNr node-v18.0.0.orig/deps/uv/src/unix/process.c node-v18.0.0/deps/uv/src/unix/process.c +--- node-v18.0.0.orig/deps/uv/src/unix/process.c 2022-04-21 15:15:32.631869790 +0530 ++++ node-v18.0.0/deps/uv/src/unix/process.c 2022-04-21 15:42:34.267175190 +0530 @@ -303,23 +303,6 @@ if (options->cwd != NULL && chdir(options->cwd)) uv__write_errno(error_fd); diff --git a/packages/nodejs/deps-uv-uv.gyp.patch b/packages/nodejs/deps-uv-uv.gyp.patch index f2e9cd6258..f652850e86 100644 --- a/packages/nodejs/deps-uv-uv.gyp.patch +++ b/packages/nodejs/deps-uv-uv.gyp.patch @@ -1,6 +1,6 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/deps/uv/uv.gyp node-v17.8.0/deps/uv/uv.gyp ---- node-v17.8.0.orig/deps/uv/uv.gyp 2022-03-26 22:11:02.605459286 +0530 -+++ node-v17.8.0/deps/uv/uv.gyp 2022-03-26 22:12:03.225459263 +0530 +diff '--color=auto' -uNr node-v18.0.0.orig/deps/uv/uv.gyp node-v18.0.0/deps/uv/uv.gyp +--- node-v18.0.0.orig/deps/uv/uv.gyp 2022-04-21 15:15:32.951869789 +0530 ++++ node-v18.0.0/deps/uv/uv.gyp 2022-04-21 15:43:16.397175174 +0530 @@ -40,7 +40,7 @@ { 'target_name': 'libuv', diff --git a/packages/nodejs/deps-v8-src-flags-flag-definitions.h.patch b/packages/nodejs/deps-v8-src-flags-flag-definitions.h.patch index 713f2c70c6..555350737c 100644 --- a/packages/nodejs/deps-v8-src-flags-flag-definitions.h.patch +++ b/packages/nodejs/deps-v8-src-flags-flag-definitions.h.patch @@ -1,7 +1,7 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/deps/v8/src/flags/flag-definitions.h node-v17.8.0/deps/v8/src/flags/flag-definitions.h ---- node-v17.8.0.orig/deps/v8/src/flags/flag-definitions.h 2022-03-26 22:11:03.455459286 +0530 -+++ node-v17.8.0/deps/v8/src/flags/flag-definitions.h 2022-03-26 22:12:05.925459262 +0530 -@@ -2026,7 +2026,7 @@ +diff '--color=auto' -uNr node-v18.0.0.orig/deps/v8/src/flags/flag-definitions.h node-v18.0.0/deps/v8/src/flags/flag-definitions.h +--- node-v18.0.0.orig/deps/v8/src/flags/flag-definitions.h 2022-04-21 15:15:34.881869789 +0530 ++++ node-v18.0.0/deps/v8/src/flags/flag-definitions.h 2022-04-21 15:43:52.827175160 +0530 +@@ -2091,7 +2091,7 @@ #undef DEFINE_PERF_PROF_BOOL #undef DEFINE_PERF_PROF_IMPLICATION diff --git a/packages/nodejs/deps-v8-src-logging-log.cc.patch b/packages/nodejs/deps-v8-src-logging-log.cc.patch index 84fa4b6907..730abea6fc 100644 --- a/packages/nodejs/deps-v8-src-logging-log.cc.patch +++ b/packages/nodejs/deps-v8-src-logging-log.cc.patch @@ -1,7 +1,7 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/deps/v8/src/logging/log.cc node-v17.8.0/deps/v8/src/logging/log.cc ---- node-v17.8.0.orig/deps/v8/src/logging/log.cc 2022-03-26 22:11:03.545459286 +0530 -+++ node-v17.8.0/deps/v8/src/logging/log.cc 2022-03-26 22:12:08.765459261 +0530 -@@ -309,7 +309,7 @@ +diff '--color=auto' -uNr node-v18.0.0.orig/deps/v8/src/logging/log.cc node-v18.0.0/deps/v8/src/logging/log.cc +--- node-v18.0.0.orig/deps/v8/src/logging/log.cc 2022-04-21 15:15:34.031869789 +0530 ++++ node-v18.0.0/deps/v8/src/logging/log.cc 2022-04-21 15:44:33.497175145 +0530 +@@ -308,7 +308,7 @@ FILE* perf_output_handle_; }; @@ -9,4 +9,3 @@ diff '--color=auto' -uNr node-v17.8.0.orig/deps/v8/src/logging/log.cc node-v17.8 +const char PerfBasicLogger::kFilenameFormatString[] = "@TERMUX_PREFIX@/tmp/perf-%d.map"; // Extra space for the PID in the filename const int PerfBasicLogger::kFilenameBufferPadding = 16; - diff --git a/packages/nodejs/deps-v8-src-trap-handler-trap-handler.h.patch b/packages/nodejs/deps-v8-src-trap-handler-trap-handler.h.patch index 172042b243..dcd67df68a 100644 --- a/packages/nodejs/deps-v8-src-trap-handler-trap-handler.h.patch +++ b/packages/nodejs/deps-v8-src-trap-handler-trap-handler.h.patch @@ -1,21 +1,21 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/deps/v8/src/trap-handler/trap-handler.h node-v17.8.0/deps/v8/src/trap-handler/trap-handler.h ---- node-v17.8.0.orig/deps/v8/src/trap-handler/trap-handler.h 2022-03-26 22:11:03.655459286 +0530 -+++ node-v17.8.0/deps/v8/src/trap-handler/trap-handler.h 2022-03-26 22:12:11.475459260 +0530 +diff '--color=auto' -uNr node-v18.0.0.orig/deps/v8/src/trap-handler/trap-handler.h node-v18.0.0/deps/v8/src/trap-handler/trap-handler.h +--- node-v18.0.0.orig/deps/v8/src/trap-handler/trap-handler.h 2022-04-21 15:15:33.491869789 +0530 ++++ node-v18.0.0/deps/v8/src/trap-handler/trap-handler.h 2022-04-21 15:45:22.317175126 +0530 @@ -17,23 +17,7 @@ namespace internal { namespace trap_handler { -// X64 on Linux, Windows, MacOS, FreeBSD. -#if V8_HOST_ARCH_X64 && V8_TARGET_ARCH_X64 && \ -- ((V8_OS_LINUX && !V8_OS_ANDROID) || V8_OS_WIN || V8_OS_MACOSX || \ +- ((V8_OS_LINUX && !V8_OS_ANDROID) || V8_OS_WIN || V8_OS_DARWIN || \ - V8_OS_FREEBSD) -#define V8_TRAP_HANDLER_SUPPORTED true -// Arm64 (non-simulator) on Mac. --#elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_ARM64 && V8_OS_MACOSX +-#elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_ARM64 && V8_OS_DARWIN -#define V8_TRAP_HANDLER_SUPPORTED true -// Arm64 simulator on x64 on Linux, Mac, or Windows. -#elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_X64 && \ -- (V8_OS_LINUX || V8_OS_MACOSX) +- (V8_OS_LINUX || V8_OS_DARWIN) -#define V8_TRAP_HANDLER_VIA_SIMULATOR -#define V8_TRAP_HANDLER_SUPPORTED true -// Everything else is unsupported. diff --git a/packages/nodejs/fix_multiple_definitions.patch b/packages/nodejs/fix_multiple_definitions.patch index 2f173bb0ac..dd6429c7ff 100644 --- a/packages/nodejs/fix_multiple_definitions.patch +++ b/packages/nodejs/fix_multiple_definitions.patch @@ -1,6 +1,6 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/deps/uv/src/unix/sysinfo-memory.c node-v17.8.0/deps/uv/src/unix/sysinfo-memory.c ---- node-v17.8.0.orig/deps/uv/src/unix/sysinfo-memory.c 2022-03-26 22:11:02.595459286 +0530 -+++ node-v17.8.0/deps/uv/src/unix/sysinfo-memory.c 2022-03-26 22:12:14.175459259 +0530 +diff '--color=auto' -uNr node-v18.0.0.orig/deps/uv/src/unix/sysinfo-memory.c node-v18.0.0/deps/uv/src/unix/sysinfo-memory.c +--- node-v18.0.0.orig/deps/uv/src/unix/sysinfo-memory.c 2022-04-21 15:15:32.611869790 +0530 ++++ node-v18.0.0/deps/uv/src/unix/sysinfo-memory.c 2022-04-21 15:46:04.427175110 +0530 @@ -25,6 +25,7 @@ #include #include diff --git a/packages/nodejs/lib-child_process.js.patch b/packages/nodejs/lib-child_process.js.patch index 37848a3b26..eafa6bf6f5 100644 --- a/packages/nodejs/lib-child_process.js.patch +++ b/packages/nodejs/lib-child_process.js.patch @@ -1,7 +1,7 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/lib/child_process.js node-v17.8.0/lib/child_process.js ---- node-v17.8.0.orig/lib/child_process.js 2022-03-26 22:11:04.095459285 +0530 -+++ node-v17.8.0/lib/child_process.js 2022-03-26 22:12:16.905459258 +0530 -@@ -589,7 +589,7 @@ +diff '--color=auto' -uNr node-v18.0.0.orig/lib/child_process.js node-v18.0.0/lib/child_process.js +--- node-v18.0.0.orig/lib/child_process.js 2022-04-21 15:15:48.551869784 +0530 ++++ node-v18.0.0/lib/child_process.js 2022-04-21 15:46:39.467175097 +0530 +@@ -578,7 +578,7 @@ if (typeof options.shell === 'string') file = options.shell; else if (process.platform === 'android') diff --git a/packages/nodejs/lib-internal-test_runner-test.js.patch b/packages/nodejs/lib-internal-test_runner-test.js.patch new file mode 100644 index 0000000000..1cbf069672 --- /dev/null +++ b/packages/nodejs/lib-internal-test_runner-test.js.patch @@ -0,0 +1,20 @@ +--- ./lib/internal/test_runner/test.js.orig 2022-05-21 11:46:57.293199020 +0530 ++++ ./lib/internal/test_runner/test.js 2022-05-21 13:15:42.882384210 +0530 +@@ -19,7 +19,7 @@ + const { createDeferredPromise } = require('internal/util'); + const { isPromise } = require('internal/util/types'); + const { isUint32 } = require('internal/validators'); +-const { cpus } = require('os'); ++const { numcpus } = require('os'); + const { bigint: hrtime } = process.hrtime; + const kCallbackAndPromisePresent = 'callbackAndPromisePresent'; + const kCancelledByParent = 'cancelledByParent'; +@@ -32,7 +32,7 @@ + const isTestRunner = getOptionValue('--test'); + const testOnlyFlag = !isTestRunner && getOptionValue('--test-only'); + // TODO(cjihrig): Use uv_available_parallelism() once it lands. +-const rootConcurrency = isTestRunner ? cpus().length : 1; ++const rootConcurrency = isTestRunner ? numcpus() : 1; + + class TestContext { + #test; diff --git a/packages/nodejs/lib-os.js.patch b/packages/nodejs/lib-os.js.patch index 40ac994bcf..836aa67c5f 100644 --- a/packages/nodejs/lib-os.js.patch +++ b/packages/nodejs/lib-os.js.patch @@ -1,7 +1,25 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/lib/os.js node-v17.8.0/lib/os.js ---- node-v17.8.0.orig/lib/os.js 2022-03-26 22:11:04.145459285 +0530 -+++ node-v17.8.0/lib/os.js 2022-03-26 22:12:19.585459257 +0530 -@@ -183,7 +183,7 @@ +--- ./lib/os.js.orig 2022-05-21 13:09:26.332384353 +0530 ++++ ./lib/os.js 2022-05-21 13:10:15.732384334 +0530 +@@ -45,6 +45,7 @@ + const { validateInt32 } = require('internal/validators'); + + const { ++ getNumCPUs, + getCPUs, + getFreeMem, + getHomeDirectory: _getHomeDirectory, +@@ -114,6 +115,10 @@ + return [avgValues[0], avgValues[1], avgValues[2]]; + } + ++function numcpus() { ++ return getNumCPUs(); ++} ++ + /** + * Returns an array of objects containing information about each + * logical CPU core. +@@ -183,7 +188,7 @@ path = safeGetenv('TMPDIR') || safeGetenv('TMP') || safeGetenv('TEMP') || @@ -10,3 +28,11 @@ diff '--color=auto' -uNr node-v17.8.0.orig/lib/os.js node-v17.8.0/lib/os.js if (path.length > 1 && StringPrototypeEndsWith(path, '/')) path = StringPrototypeSlice(path, 0, -1); } +@@ -351,6 +356,7 @@ + + module.exports = { + arch, ++ numcpus, + cpus, + endianness, + freemem: getFreeMem, diff --git a/packages/nodejs/node.gyp.patch b/packages/nodejs/node.gyp.patch index c10766eba3..d32f1151ff 100644 --- a/packages/nodejs/node.gyp.patch +++ b/packages/nodejs/node.gyp.patch @@ -1,7 +1,16 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/node.gyp node-v17.8.0/node.gyp ---- node-v17.8.0.orig/node.gyp 2022-03-26 22:11:04.155459285 +0530 -+++ node-v17.8.0/node.gyp 2022-03-26 22:12:22.275459256 +0530 -@@ -436,6 +436,7 @@ +--- node-v18.0.0.orig/node.gyp 2022-04-21 15:15:48.561869784 +0530 ++++ node-v18.0.0/node.gyp 2022-05-19 18:01:39.524596955 +0530 +@@ -158,7 +158,8 @@ + ], + + 'sources': [ +- 'src/node_main.cc' ++ 'src/node_main.cc', ++ 'src/getaddrinfo.c' + ], + + 'dependencies': [ +@@ -461,6 +462,7 @@ 'include_dirs': [ 'src', @@ -9,7 +18,7 @@ diff '--color=auto' -uNr node-v17.8.0.orig/node.gyp node-v17.8.0/node.gyp '<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h ], 'dependencies': [ -@@ -1158,162 +1159,6 @@ +@@ -1183,162 +1185,6 @@ }], ], }, # fuzz_env @@ -172,7 +181,7 @@ diff '--color=auto' -uNr node-v17.8.0.orig/node.gyp node-v17.8.0/node.gyp { 'target_name': 'overlapped-checker', -@@ -1392,59 +1237,13 @@ +@@ -1417,59 +1263,13 @@ 'Ws2_32.lib', ], }], diff --git a/packages/nodejs/src-debug_utils.cc.patch b/packages/nodejs/src-debug_utils.cc.patch index d26543613d..f24f75d4fe 100644 --- a/packages/nodejs/src-debug_utils.cc.patch +++ b/packages/nodejs/src-debug_utils.cc.patch @@ -1,6 +1,6 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/src/debug_utils.cc node-v17.8.0/src/debug_utils.cc ---- node-v17.8.0.orig/src/debug_utils.cc 2022-03-26 22:11:04.165459285 +0530 -+++ node-v17.8.0/src/debug_utils.cc 2022-03-26 22:12:24.985459255 +0530 +diff '--color=auto' -uNr node-v18.0.0.orig/src/debug_utils.cc node-v18.0.0/src/debug_utils.cc +--- node-v18.0.0.orig/src/debug_utils.cc 2022-04-21 15:15:47.371869784 +0530 ++++ node-v18.0.0/src/debug_utils.cc 2022-04-21 15:47:45.587175071 +0530 @@ -500,7 +500,7 @@ WriteConsoleW(handle, wbuf.data(), n, nullptr, nullptr); diff --git a/packages/nodejs/src-getaddrinfo.patch b/packages/nodejs/src-getaddrinfo.patch new file mode 100644 index 0000000000..0806597e35 --- /dev/null +++ b/packages/nodejs/src-getaddrinfo.patch @@ -0,0 +1,48 @@ +--- /dev/null 1972-07-31 19:09:33.659999999 +0530 ++++ ./src/getaddrinfo.c 2022-05-20 09:52:04.320665911 +0530 +@@ -0,0 +1,45 @@ ++// A really ugly fix for https://github.com/termux/termux-packages/issues/10277 ++#include ++#include ++#include ++#include ++#include ++#ifdef __TERMUX__ ++ ++#if defined(__aarch64__) || defined(__arm__) ++#define LIBC_PATH "/system/lib64/libc.so" ++#elif defined(__i686__) || defined(__x86_64__) ++#define LIBC_PATH "/system/lib/libc.so" ++#else ++#error Unsupported architecture ++#endif ++ ++int getaddrinfo(const char* node, ++ const char* service, ++ const struct addrinfo* hints, ++ struct addrinfo** result) { ++ void* handle = dlopen(LIBC_PATH, RTLD_NOW); ++ if (!handle) { ++ fprintf(stderr, "%s\n", dlerror()); ++ exit(EXIT_FAILURE); ++ } ++ // Clear any existing error ++ dlerror(); ++ char* error; ++ if ((error = dlerror()) != NULL) { ++ fprintf(stderr, "%s\n", error); ++ exit(EXIT_FAILURE); ++ } ++ int getaddrinfo_ret; ++ int (*real_getaddrinfo)( ++ const char*, const char*, const struct addrinfo*, struct addrinfo**) = ++ dlsym(handle, "getaddrinfo"); ++ if ((hints->ai_family == PF_INET6) && !strcmp(node, "localhost")) { ++ getaddrinfo_ret = real_getaddrinfo("ip6-localhost", service, hints, result); ++ } else { ++ getaddrinfo_ret = real_getaddrinfo(node, service, hints, result); ++ } ++ dlclose(handle); ++ return getaddrinfo_ret; ++} ++#endif diff --git a/packages/nodejs/src-node_internals.h.patch b/packages/nodejs/src-node_internals.h.patch index 1861b84614..0ecb8499f6 100644 --- a/packages/nodejs/src-node_internals.h.patch +++ b/packages/nodejs/src-node_internals.h.patch @@ -1,6 +1,6 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/src/node_internals.h node-v17.8.0/src/node_internals.h ---- node-v17.8.0.orig/src/node_internals.h 2022-03-26 22:11:04.185459285 +0530 -+++ node-v17.8.0/src/node_internals.h 2022-03-26 22:12:27.675459254 +0530 +diff '--color=auto' -uNr node-v18.0.0.orig/src/node_internals.h node-v18.0.0/src/node_internals.h +--- node-v18.0.0.orig/src/node_internals.h 2022-04-21 15:15:47.251869784 +0530 ++++ node-v18.0.0/src/node_internals.h 2022-04-21 15:47:59.017175066 +0530 @@ -281,7 +281,7 @@ // Functions defined in node.cc that are exposed via the bootstrapper object diff --git a/packages/nodejs/src-node_main.cc.patch b/packages/nodejs/src-node_main.cc.patch index 3cd9c061e2..600fa2e2c1 100644 --- a/packages/nodejs/src-node_main.cc.patch +++ b/packages/nodejs/src-node_main.cc.patch @@ -1,6 +1,5 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/src/node_main.cc node-v17.8.0/src/node_main.cc ---- node-v17.8.0.orig/src/node_main.cc 2022-03-26 22:11:04.185459285 +0530 -+++ node-v17.8.0/src/node_main.cc 2022-03-26 22:12:30.375459252 +0530 +--- node-v18.0.0.orig/src/node_main.cc 2022-04-21 15:15:47.131869784 +0530 ++++ node-v18.0.0/src/node_main.cc 2022-05-19 17:59:43.234596999 +0530 @@ -124,6 +124,10 @@ // calls elsewhere in the program (e.g., any logging from V8.) setvbuf(stdout, nullptr, _IONBF, 0); diff --git a/packages/nodejs/src-node_os.cc.patch b/packages/nodejs/src-node_os.cc.patch new file mode 100644 index 0000000000..2bd78ccc94 --- /dev/null +++ b/packages/nodejs/src-node_os.cc.patch @@ -0,0 +1,44 @@ +--- ./src/node_os.cc.orig 2022-05-21 12:57:08.452384635 +0530 ++++ ./src/node_os.cc 2022-05-21 13:07:50.752384390 +0530 +@@ -32,6 +32,8 @@ + # include // PATH_MAX on Solaris. + #endif // __POSIX__ + ++#include ++ + #include + #include + #include +@@ -98,6 +100,16 @@ + arraysize(osInformation))); + } + ++static void GetNumCPUs(const FunctionCallbackInfo& args) { ++ Environment* env = Environment::GetCurrent(args); ++ Isolate* isolate = env->isolate(); ++ int n = get_nprocs(); ++ if (n < 1) { ++ n = 1; ++ } ++ args.GetReturnValue().Set(Number::New(isolate, n)); ++} ++ + static void GetCPUInfo(const FunctionCallbackInfo& args) { + Environment* env = Environment::GetCurrent(args); + Isolate* isolate = env->isolate(); +@@ -388,6 +400,7 @@ + env->SetMethod(target, "getUptime", GetUptime); + env->SetMethod(target, "getTotalMem", GetTotalMemory); + env->SetMethod(target, "getFreeMem", GetFreeMemory); ++ env->SetMethod(target, "getNumCPUs", GetNumCPUs); + env->SetMethod(target, "getCPUs", GetCPUInfo); + env->SetMethod(target, "getInterfaceAddresses", GetInterfaceAddresses); + env->SetMethod(target, "getHomeDirectory", GetHomeDirectory); +@@ -406,6 +419,7 @@ + registry->Register(GetUptime); + registry->Register(GetTotalMemory); + registry->Register(GetFreeMemory); ++ registry->Register(GetNumCPUs); + registry->Register(GetCPUInfo); + registry->Register(GetInterfaceAddresses); + registry->Register(GetHomeDirectory); diff --git a/packages/nodejs/tools-v8_gypfiles-toolchain.gypi.patch b/packages/nodejs/tools-v8_gypfiles-toolchain.gypi.patch index dfd065e65f..d9f84105dc 100644 --- a/packages/nodejs/tools-v8_gypfiles-toolchain.gypi.patch +++ b/packages/nodejs/tools-v8_gypfiles-toolchain.gypi.patch @@ -1,6 +1,6 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/tools/v8_gypfiles/toolchain.gypi node-v17.8.0/tools/v8_gypfiles/toolchain.gypi ---- node-v17.8.0.orig/tools/v8_gypfiles/toolchain.gypi 2022-03-26 22:11:04.985459285 +0530 -+++ node-v17.8.0/tools/v8_gypfiles/toolchain.gypi 2022-03-26 22:12:33.085459251 +0530 +diff '--color=auto' -uNr node-v18.0.0.orig/tools/v8_gypfiles/toolchain.gypi node-v18.0.0/tools/v8_gypfiles/toolchain.gypi +--- node-v18.0.0.orig/tools/v8_gypfiles/toolchain.gypi 2022-04-21 15:15:48.771869783 +0530 ++++ node-v18.0.0/tools/v8_gypfiles/toolchain.gypi 2022-04-21 15:48:50.497175047 +0530 @@ -62,7 +62,7 @@ 'mips_use_msa%': 0, diff --git a/packages/nodejs/tools-v8_gypfiles-v8.gyp.patch b/packages/nodejs/tools-v8_gypfiles-v8.gyp.patch index 0b8723d8a2..052cf1d0e6 100644 --- a/packages/nodejs/tools-v8_gypfiles-v8.gyp.patch +++ b/packages/nodejs/tools-v8_gypfiles-v8.gyp.patch @@ -1,7 +1,7 @@ -diff '--color=auto' -uNr node-v17.8.0.orig/tools/v8_gypfiles/v8.gyp node-v17.8.0/tools/v8_gypfiles/v8.gyp ---- node-v17.8.0.orig/tools/v8_gypfiles/v8.gyp 2022-03-26 22:11:04.985459285 +0530 -+++ node-v17.8.0/tools/v8_gypfiles/v8.gyp 2022-03-26 22:12:35.825459250 +0530 -@@ -1092,6 +1092,7 @@ +diff '--color=auto' -uNr node-v18.0.0.orig/tools/v8_gypfiles/v8.gyp node-v18.0.0/tools/v8_gypfiles/v8.gyp +--- node-v18.0.0.orig/tools/v8_gypfiles/v8.gyp 2022-04-21 15:15:48.771869783 +0530 ++++ node-v18.0.0/tools/v8_gypfiles/v8.gyp 2022-04-21 15:49:30.537175031 +0530 +@@ -1114,6 +1114,7 @@ '<(V8_ROOT)/src/base/platform/platform-posix.h', '<(V8_ROOT)/src/base/platform/platform-posix-time.cc', '<(V8_ROOT)/src/base/platform/platform-posix-time.h', @@ -9,7 +9,7 @@ diff '--color=auto' -uNr node-v17.8.0.orig/tools/v8_gypfiles/v8.gyp node-v17.8.0 ], 'link_settings': { 'target_conditions': [ -@@ -1581,7 +1582,12 @@ +@@ -1598,7 +1599,12 @@ }], ['clang or OS!="win"', { 'conditions': [