From f536a8949b50ac70e57263624be23c92355d532c Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Wed, 23 Oct 2019 17:20:41 +0200 Subject: [PATCH] nodejs-lts: Update from 10.16.3 to 12.13.0 --- packages/nodejs-lts/build.sh | 49 ++++++++++++--- packages/nodejs-lts/configure.py.patch | 12 ++++ .../nodejs-lts/deps-uv-src-unix-core.c.patch | 14 +++++ .../deps-uv-src-unix-linux-syscalls.c.patch | 20 ------- .../deps-uv-src-unix-process.c.patch | 31 ---------- packages/nodejs-lts/deps-uv-uv.gyp.patch | 6 +- .../nodejs-lts/deps-v8-gypfiles-v8.gyp.patch | 13 ---- ...deps-v8-src-flags-flag-definitions.h.patch | 12 ++++ .../deps-v8-src-logging-log.cc.patch | 12 ++++ packages/nodejs-lts/fix-hardcoded-paths.patch | 38 ------------ .../nodejs-lts/fix_multiple_definitions.patch | 16 +++++ packages/nodejs-lts/node.gyp.patch | 59 +++++++++++++------ packages/nodejs-lts/src-node.cc.patch | 37 ------------ .../nodejs-lts/src-node_internals.h.patch | 25 +++----- packages/nodejs-lts/src-node_process.cc.patch | 29 --------- .../nodejs-lts/tools-v8_gypfiles-v8.gyp.patch | 11 ++++ 16 files changed, 171 insertions(+), 213 deletions(-) create mode 100644 packages/nodejs-lts/configure.py.patch create mode 100644 packages/nodejs-lts/deps-uv-src-unix-core.c.patch delete mode 100644 packages/nodejs-lts/deps-uv-src-unix-linux-syscalls.c.patch delete mode 100644 packages/nodejs-lts/deps-uv-src-unix-process.c.patch delete mode 100644 packages/nodejs-lts/deps-v8-gypfiles-v8.gyp.patch create mode 100644 packages/nodejs-lts/deps-v8-src-flags-flag-definitions.h.patch create mode 100644 packages/nodejs-lts/deps-v8-src-logging-log.cc.patch delete mode 100644 packages/nodejs-lts/fix-hardcoded-paths.patch create mode 100644 packages/nodejs-lts/fix_multiple_definitions.patch delete mode 100644 packages/nodejs-lts/src-node.cc.patch delete mode 100644 packages/nodejs-lts/src-node_process.cc.patch create mode 100644 packages/nodejs-lts/tools-v8_gypfiles-v8.gyp.patch diff --git a/packages/nodejs-lts/build.sh b/packages/nodejs-lts/build.sh index f18b30cf5..d287a0aeb 100644 --- a/packages/nodejs-lts/build.sh +++ b/packages/nodejs-lts/build.sh @@ -1,19 +1,47 @@ TERMUX_PKG_HOMEPAGE=https://nodejs.org/ TERMUX_PKG_DESCRIPTION="Platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications" TERMUX_PKG_LICENSE="MIT" -TERMUX_PKG_VERSION=10.16.3 -TERMUX_PKG_REVISION=2 +TERMUX_PKG_VERSION=12.13.0 TERMUX_PKG_SRCURL=https://nodejs.org/dist/v${TERMUX_PKG_VERSION}/node-v${TERMUX_PKG_VERSION}.tar.xz -TERMUX_PKG_SHA256=7bf1123d7415964775b8f81fe6ec6dd5c3c08abb42bb71dfe4409dbeeba26bbd +TERMUX_PKG_SHA256=a82b1541cf670318a0102c32e06f296662b5ccccae764c1f32be4a3cf038bef6 # 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. TERMUX_PKG_DEPENDS="libc++, openssl, c-ares, libicu, zlib" TERMUX_PKG_RM_AFTER_INSTALL="lib/node_modules/npm/html lib/node_modules/npm/make.bat share/systemtap lib/dtrace" TERMUX_PKG_BUILD_IN_SRC=true -TERMUX_PKG_CONFLICTS="nodejs" -TERMUX_PKG_BREAKS="nodejs-lts-dev" -TERMUX_PKG_REPLACES="nodejs-lts-dev" +TERMUX_PKG_CONFLICTS="nodejs-lts, nodejs-current" +TERMUX_PKG_BREAKS="nodejs-dev" +TERMUX_PKG_REPLACES="nodejs-current, nodejs-dev" +TERMUX_PKG_HOSTBUILD=true + +termux_step_post_extract_package() { + # Prevent caching of host build: + rm -Rf $TERMUX_PKG_HOSTBUILD_DIR +} + +termux_step_host_build() { + local ICU_VERSION=65.1 + local ICU_TAR=icu4c-${ICU_VERSION//./_}-src.tar.xz + local ICU_DOWNLOAD=https://fossies.org/linux/misc/$ICU_TAR + termux_download \ + $ICU_DOWNLOAD\ + $TERMUX_PKG_CACHEDIR/$ICU_TAR \ + bd002bdeb2e854a224c2617ba1d0e9ccea7fde3065682333902e234dce4dd380 + tar xf $TERMUX_PKG_CACHEDIR/$ICU_TAR + cd icu/source + if [ "$TERMUX_ARCH_BITS" = 32 ]; then + ./configure --prefix $TERMUX_PKG_HOSTBUILD_DIR/icu-installed \ + --disable-samples \ + --disable-tests \ + --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32" + else + ./configure --prefix $TERMUX_PKG_HOSTBUILD_DIR/icu-installed \ + --disable-samples \ + --disable-tests + fi + make -j $TERMUX_MAKE_PROCESSES install +} termux_step_configure() { local DEST_CPU @@ -44,8 +72,13 @@ termux_step_configure() { --shared-zlib \ --with-intl=system-icu \ --without-snapshot \ + --without-node-snapshot \ --cross-compiling - perl -p -i -e 's/LIBS := \$\(LIBS\)/LIBS := -lpthread/' \ - $TERMUX_PKG_SRCDIR/out/deps/v8/gypfiles/torque.host.mk + export LD_LIBRARY_PATH=$TERMUX_PKG_HOSTBUILD_DIR/icu-installed/lib + perl -p -i -e "s@LIBS := \\$\\(LIBS\\)@LIBS := -L$TERMUX_PKG_HOSTBUILD_DIR/icu-installed/lib -lpthread -licui18n -licuuc -licudata@" \ + $TERMUX_PKG_SRCDIR/out/tools/v8_gypfiles/torque.host.mk \ + $TERMUX_PKG_SRCDIR/out/tools/v8_gypfiles/bytecode_builtins_list_generator.host.mk \ + $TERMUX_PKG_SRCDIR/out/tools/v8_gypfiles/v8_libbase.host.mk \ + $TERMUX_PKG_SRCDIR/out/tools/v8_gypfiles/gen-regexp-special-case.host.mk } diff --git a/packages/nodejs-lts/configure.py.patch b/packages/nodejs-lts/configure.py.patch new file mode 100644 index 000000000..17947ded0 --- /dev/null +++ b/packages/nodejs-lts/configure.py.patch @@ -0,0 +1,12 @@ +diff -u -r ../node-v12.1.0/configure.py ./configure.py +--- ../node-v12.1.0/configure.py 2019-04-29 12:57:51.000000000 +0000 ++++ ./configure.py 2019-05-05 21:21:04.289245037 +0000 +@@ -931,7 +931,7 @@ + else target_arch != host_arch) + want_snapshots = not options.without_snapshot + o['variables']['want_separate_host_toolset'] = int( +- cross_compiling and want_snapshots) ++ cross_compiling) + + if options.with_node_snapshot: + o['variables']['node_use_node_snapshot'] = 'true' diff --git a/packages/nodejs-lts/deps-uv-src-unix-core.c.patch b/packages/nodejs-lts/deps-uv-src-unix-core.c.patch new file mode 100644 index 000000000..64f8107cb --- /dev/null +++ b/packages/nodejs-lts/deps-uv-src-unix-core.c.patch @@ -0,0 +1,14 @@ +diff -uNr node-v8.4.0/deps/uv/src/unix/core.c node-v8.4.0.mod/deps/uv/src/unix/core.c +--- node-v8.4.0/deps/uv/src/unix/core.c 2017-08-15 19:42:28.000000000 +0300 ++++ node-v8.4.0.mod/deps/uv/src/unix/core.c 2017-09-14 16:13:27.292856099 +0300 +@@ -1112,7 +1112,9 @@ + + /* No temp environment variables defined */ + #if defined(__ANDROID__) +- buf = "/data/local/tmp"; ++ // Don't use '/data/local/tmp' in Termux ++ //buf = "/data/local/tmp"; ++ buf = "@TERMUX_PREFIX@/tmp"; + #else + buf = "/tmp"; + #endif diff --git a/packages/nodejs-lts/deps-uv-src-unix-linux-syscalls.c.patch b/packages/nodejs-lts/deps-uv-src-unix-linux-syscalls.c.patch deleted file mode 100644 index 636fe2c84..000000000 --- a/packages/nodejs-lts/deps-uv-src-unix-linux-syscalls.c.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- ../linux-syscalls.c.orig 2019-04-01 12:59:57.770124746 +0000 -+++ ./deps/uv/src/unix/linux-syscalls.c 2019-04-01 13:00:38.703457159 +0000 -@@ -187,7 +187,7 @@ - # endif - #endif /* __NR_pwritev */ - --#ifndef __NR_statx -+#if !defined(__NR_statx) && !defined(__ANDROID__) - # if defined(__x86_64__) - # define __NR_statx 332 - # elif defined(__i386__) -@@ -358,7 +358,7 @@ - int flags, - unsigned int mask, - struct uv__statx* statxbuf) { --#if defined(__NR_statx) -+#if defined(__NR_statx) && !defined(__ANDROID__) - return syscall(__NR_statx, dirfd, path, flags, mask, statxbuf); - #else - return errno = ENOSYS, -1; diff --git a/packages/nodejs-lts/deps-uv-src-unix-process.c.patch b/packages/nodejs-lts/deps-uv-src-unix-process.c.patch deleted file mode 100644 index bed8b0b2c..000000000 --- a/packages/nodejs-lts/deps-uv-src-unix-process.c.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff -uNr node-v12.10.0/deps/uv/src/unix/process.c node-v12.10.0.mod/deps/uv/src/unix/process.c ---- node-v12.10.0/deps/uv/src/unix/process.c 2019-09-04 18:36:23.000000000 +0300 -+++ node-v12.10.0.mod/deps/uv/src/unix/process.c 2019-09-23 01:39:39.069030779 +0300 -@@ -351,27 +351,6 @@ - _exit(127); - } - -- if (options->flags & (UV_PROCESS_SETUID | UV_PROCESS_SETGID)) { -- /* When dropping privileges from root, the `setgroups` call will -- * remove any extraneous groups. If we don't call this, then -- * even though our uid has dropped, we may still have groups -- * that enable us to do super-user things. This will fail if we -- * aren't root, so don't bother checking the return value, this -- * is just done as an optimistic privilege dropping function. -- */ -- SAVE_ERRNO(setgroups(0, NULL)); -- } -- -- if ((options->flags & UV_PROCESS_SETGID) && setgid(options->gid)) { -- uv__write_int(error_fd, UV__ERR(errno)); -- _exit(127); -- } -- -- if ((options->flags & UV_PROCESS_SETUID) && setuid(options->uid)) { -- uv__write_int(error_fd, UV__ERR(errno)); -- _exit(127); -- } -- - if (options->env != NULL) { - environ = options->env; - } diff --git a/packages/nodejs-lts/deps-uv-uv.gyp.patch b/packages/nodejs-lts/deps-uv-uv.gyp.patch index 9af9da610..c19f5c1c2 100644 --- a/packages/nodejs-lts/deps-uv-uv.gyp.patch +++ b/packages/nodejs-lts/deps-uv-uv.gyp.patch @@ -1,6 +1,6 @@ -diff -u -r ../node-v8.12.0/deps/uv/uv.gyp ./deps/uv/uv.gyp ---- ../node-v8.12.0/deps/uv/uv.gyp 2018-09-10 18:46:54.000000000 +0000 -+++ ./deps/uv/uv.gyp 2018-09-11 20:52:40.320690510 +0000 +diff -u -r ../node-v9.7.1/deps/uv/uv.gyp ./deps/uv/uv.gyp +--- ../node-v9.7.1/deps/uv/uv.gyp 2018-03-02 01:58:02.000000000 +0000 ++++ ./deps/uv/uv.gyp 2018-03-05 10:51:15.530165566 +0000 @@ -39,7 +39,7 @@ { 'target_name': 'libuv', diff --git a/packages/nodejs-lts/deps-v8-gypfiles-v8.gyp.patch b/packages/nodejs-lts/deps-v8-gypfiles-v8.gyp.patch deleted file mode 100644 index c841b6ea3..000000000 --- a/packages/nodejs-lts/deps-v8-gypfiles-v8.gyp.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -u -r ../node-v10.9.0/deps/v8/gypfiles/v8.gyp ./deps/v8/gypfiles/v8.gyp ---- ../node-v10.9.0/deps/v8/gypfiles/v8.gyp 2018-08-15 13:53:24.000000000 +0000 -+++ ./deps/v8/gypfiles/v8.gyp 2018-08-23 21:43:30.588264328 +0000 -@@ -2053,8 +2053,7 @@ - # library order and break (see crbug.com/469973). - # These libraries do not exist on Mac hosted builds. - 'libraries': [ -- '-ldl', -- '-lrt' -+ '-ldl' - ] - }] - ] diff --git a/packages/nodejs-lts/deps-v8-src-flags-flag-definitions.h.patch b/packages/nodejs-lts/deps-v8-src-flags-flag-definitions.h.patch new file mode 100644 index 000000000..8e57ea2d3 --- /dev/null +++ b/packages/nodejs-lts/deps-v8-src-flags-flag-definitions.h.patch @@ -0,0 +1,12 @@ +diff -u -r ../node-v12.9.0/deps/v8/src/flags/flag-definitions.h ./deps/v8/src/flags/flag-definitions.h +--- ../node-v12.9.0/deps/v8/src/flags/flag-definitions.h 2019-08-20 17:14:50.000000000 +0000 ++++ ./deps/v8/src/flags/flag-definitions.h 2019-08-24 22:38:43.754905700 +0000 +@@ -1373,7 +1373,7 @@ + DEFINE_BOOL(perf_prof_unwinding_info, false, + "Enable unwinding info for perf linux profiler (experimental).") + DEFINE_IMPLICATION(perf_prof, perf_prof_unwinding_info) +-DEFINE_STRING(gc_fake_mmap, "/tmp/__v8_gc__", ++DEFINE_STRING(gc_fake_mmap, "/@TERMUX_PREFIX@/tmp/__v8_gc__", + "Specify the name of the file for fake gc mmap used in ll_prof") + DEFINE_BOOL(log_internal_timer_events, false, "Time internal events.") + DEFINE_IMPLICATION(log_internal_timer_events, prof) diff --git a/packages/nodejs-lts/deps-v8-src-logging-log.cc.patch b/packages/nodejs-lts/deps-v8-src-logging-log.cc.patch new file mode 100644 index 000000000..b3e6a8bc0 --- /dev/null +++ b/packages/nodejs-lts/deps-v8-src-logging-log.cc.patch @@ -0,0 +1,12 @@ +diff -u -r ../node-v12.9.0/deps/v8/src/logging/log.cc ./deps/v8/src/logging/log.cc +--- ../node-v12.9.0/deps/v8/src/logging/log.cc 2019-08-20 17:14:50.000000000 +0000 ++++ ./deps/v8/src/logging/log.cc 2019-08-24 22:39:52.426124955 +0000 +@@ -280,7 +280,7 @@ + FILE* perf_output_handle_; + }; + +-const char PerfBasicLogger::kFilenameFormatString[] = "/tmp/perf-%d.map"; ++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-lts/fix-hardcoded-paths.patch b/packages/nodejs-lts/fix-hardcoded-paths.patch deleted file mode 100644 index 9628692fe..000000000 --- a/packages/nodejs-lts/fix-hardcoded-paths.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -uNr node-v8.4.0/deps/uv/src/unix/core.c node-v8.4.0.mod/deps/uv/src/unix/core.c ---- node-v8.4.0/deps/uv/src/unix/core.c 2017-08-15 19:42:28.000000000 +0300 -+++ node-v8.4.0.mod/deps/uv/src/unix/core.c 2017-09-14 16:13:27.292856099 +0300 -@@ -1112,7 +1112,9 @@ - - /* No temp environment variables defined */ - #if defined(__ANDROID__) -- buf = "/data/local/tmp"; -+ // Don't use '/data/local/tmp' in Termux -+ //buf = "/data/local/tmp"; -+ buf = "@TERMUX_PREFIX@/tmp"; - #else - buf = "/tmp"; - #endif -diff -uNr node-v8.4.0/deps/v8/src/flag-definitions.h node-v8.4.0.mod/deps/v8/src/flag-definitions.h ---- node-v8.4.0/deps/v8/src/flag-definitions.h 2017-08-15 19:42:30.000000000 +0300 -+++ node-v8.4.0.mod/deps/v8/src/flag-definitions.h 2017-09-14 16:12:34.462856137 +0300 -@@ -1203,7 +1203,7 @@ - DEFINE_BOOL(perf_prof_unwinding_info, false, - "Enable unwinding info for perf linux profiler (experimental).") - DEFINE_IMPLICATION(perf_prof, perf_prof_unwinding_info) --DEFINE_STRING(gc_fake_mmap, "/tmp/__v8_gc__", -+DEFINE_STRING(gc_fake_mmap, "@TERMUX_PREFIX@/tmp/__v8_gc__", - "Specify the name of the file for fake gc mmap used in ll_prof") - DEFINE_BOOL(log_internal_timer_events, false, "Time internal events.") - DEFINE_BOOL(log_timer_events, false, -diff -uNr node-v8.4.0/deps/v8/src/log.cc node-v8.4.0.mod/deps/v8/src/log.cc ---- node-v8.4.0/deps/v8/src/log.cc 2017-08-15 19:42:31.000000000 +0300 -+++ node-v8.4.0.mod/deps/v8/src/log.cc 2017-09-14 16:11:05.192856201 +0300 -@@ -233,7 +233,7 @@ - FILE* perf_output_handle_; - }; - --const char PerfBasicLogger::kFilenameFormatString[] = "/tmp/perf-%d.map"; -+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-lts/fix_multiple_definitions.patch b/packages/nodejs-lts/fix_multiple_definitions.patch new file mode 100644 index 000000000..d21cba739 --- /dev/null +++ b/packages/nodejs-lts/fix_multiple_definitions.patch @@ -0,0 +1,16 @@ +diff -uNr node-v12.3.1/deps/uv/src/unix/sysinfo-memory.c node-v12.3.1.mod/deps/uv/src/unix/sysinfo-memory.c +--- node-v12.3.1/deps/uv/src/unix/sysinfo-memory.c 2019-05-22 15:21:52.000000000 +0300 ++++ node-v12.3.1.mod/deps/uv/src/unix/sysinfo-memory.c 2019-05-28 15:37:28.698418026 +0300 +@@ -25,6 +25,7 @@ + #include + #include + ++#ifndef __ANDROID__ + uint64_t uv_get_free_memory(void) { + struct sysinfo info; + +@@ -40,3 +41,4 @@ + return (uint64_t) info.totalram * info.mem_unit; + return 0; + } ++#endif diff --git a/packages/nodejs-lts/node.gyp.patch b/packages/nodejs-lts/node.gyp.patch index a811b645d..720f217c8 100644 --- a/packages/nodejs-lts/node.gyp.patch +++ b/packages/nodejs-lts/node.gyp.patch @@ -1,19 +1,17 @@ -diff -u -r ../node-v10.15.0/node.gyp ./node.gyp ---- ../node-v10.15.0/node.gyp 2018-12-26 05:26:18.000000000 +0000 -+++ ./node.gyp 2018-12-28 08:57:34.888459250 +0000 -@@ -902,81 +902,7 @@ - ], +diff -u -r ../node-v12.9.0/node.gyp ./node.gyp +--- ../node-v12.9.0/node.gyp 2019-08-20 17:14:52.000000000 +0000 ++++ ./node.gyp 2019-08-24 20:21:21.471982543 +0000 +@@ -1062,107 +1062,6 @@ } ], ] -- }, # rename_node_bin_win + }, # specialize_node_d - { - 'target_name': 'cctest', - 'type': 'executable', - - 'dependencies': [ - '<(node_lib_target_name)', -- 'rename_node_bin_win', -- 'deps/gtest/gtest.gyp:gtest', +- 'deps/histogram/histogram.gyp:histogram', - 'node_dtrace_header', - 'node_dtrace_ustack', - 'node_dtrace_provider', @@ -29,21 +27,28 @@ diff -u -r ../node-v10.15.0/node.gyp ./node.gyp - 'deps/v8/include', - 'deps/cares/include', - 'deps/uv/include', -- '<(SHARED_INTERMEDIATE_DIR)', # for node_natives.h +- 'test/cctest', - ], - - 'defines': [ 'NODE_WANT_INTERNALS=1' ], - - 'sources': [ +- 'src/node_snapshot_stub.cc', +- 'src/node_code_cache_stub.cc', +- 'test/cctest/gtest/gtest-all.cc', +- 'test/cctest/gtest/gtest_main.cc', - 'test/cctest/node_test_fixture.cc', +- 'test/cctest/node_test_fixture.h', - 'test/cctest/test_aliased_buffer.cc', - 'test/cctest/test_base64.cc', - 'test/cctest/test_node_postmortem_metadata.cc', - 'test/cctest/test_environment.cc', +- 'test/cctest/test_linked_binding.cc', +- 'test/cctest/test_per_process.cc', - 'test/cctest/test_platform.cc', - 'test/cctest/test_traced_value.cc', - 'test/cctest/test_util.cc', -- 'test/cctest/test_url.cc' +- 'test/cctest/test_url.cc', - ], - - 'conditions': [ @@ -52,9 +57,6 @@ diff -u -r ../node-v10.15.0/node.gyp ./node.gyp - 'HAVE_OPENSSL=1', - ], - }], -- [ 'node_use_perfctr=="true"', { -- 'defines': [ 'HAVE_PERFCTR=1' ], -- }], - ['v8_enable_inspector==1', { - 'sources': [ - 'test/cctest/test_inspector_socket.cc', @@ -64,7 +66,9 @@ diff -u -r ../node-v10.15.0/node.gyp ./node.gyp - 'HAVE_INSPECTOR=1', - ], - }, { -- 'defines': [ 'HAVE_INSPECTOR=0' ] +- 'defines': [ +- 'HAVE_INSPECTOR=0', +- ] - }], - ['OS=="solaris"', { - 'ldflags': [ '-I<(SHARED_INTERMEDIATE_DIR)' ] @@ -78,9 +82,30 @@ diff -u -r ../node-v10.15.0/node.gyp ./node.gyp - 'OTHER_LDFLAGS': [ '-Wl,-rpath,@loader_path', ], - }, - }], +- [ 'node_report=="true"', { +- 'sources': [ +- 'test/cctest/test_report_util.cc', +- ], +- 'defines': [ +- 'NODE_REPORT', +- 'NODE_ARCH="<(target_arch)"', +- 'NODE_PLATFORM="<(OS)"', +- ], +- 'conditions': [ +- ['OS=="win"', { +- 'libraries': [ 'Ws2_32' ], +- }], +- ], +- }], +- ['OS=="win"', { +- 'libraries': [ +- 'Dbghelp.lib', +- 'winmm.lib', +- 'Ws2_32.lib', +- ], +- }], - ], - }, # cctest -+ } - ], # end targets - 'conditions': [ + # TODO(joyeecheung): do not depend on node_lib, + # instead create a smaller static library node_lib_base that does diff --git a/packages/nodejs-lts/src-node.cc.patch b/packages/nodejs-lts/src-node.cc.patch deleted file mode 100644 index df51d5cfe..000000000 --- a/packages/nodejs-lts/src-node.cc.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -u -r ../node-v10.9.0/src/node.cc ./src/node.cc ---- ../node-v10.9.0/src/node.cc 2018-08-15 13:53:34.000000000 +0000 -+++ ./src/node.cc 2018-08-23 20:49:59.353995878 +0000 -@@ -106,7 +106,7 @@ - #include // setuid, getuid - #endif - --#if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__) -+#if defined(__POSIX__) && !defined(__CloudABI__) - #include // getpwnam() - #include // getgrnam() - #endif -@@ -690,7 +690,7 @@ - - // Look up environment variable unless running as setuid root. - bool SafeGetenv(const char* key, std::string* text) { --#if !defined(__CloudABI__) && !defined(_WIN32) -+#if !defined(__CloudABI__) && !defined(_WIN32) && !defined(__ANDROID__) - if (linux_at_secure || getuid() != geteuid() || getgid() != getegid()) - goto fail; - #endif -@@ -2402,13 +2402,13 @@ - env->SetMethod(process, "reallyExit", Exit); - env->SetMethodNoSideEffect(process, "uptime", Uptime); - --#if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__) -+#if defined(__POSIX__) && !defined(__CloudABI__) - env->SetMethodNoSideEffect(process, "getuid", GetUid); - env->SetMethodNoSideEffect(process, "geteuid", GetEUid); - env->SetMethodNoSideEffect(process, "getgid", GetGid); - env->SetMethodNoSideEffect(process, "getegid", GetEGid); - env->SetMethodNoSideEffect(process, "getgroups", GetGroups); --#endif // __POSIX__ && !defined(__ANDROID__) && !defined(__CloudABI__) -+#endif // __POSIX__ && !defined(__CloudABI__) - } - - diff --git a/packages/nodejs-lts/src-node_internals.h.patch b/packages/nodejs-lts/src-node_internals.h.patch index fb5287471..1fa427cb8 100644 --- a/packages/nodejs-lts/src-node_internals.h.patch +++ b/packages/nodejs-lts/src-node_internals.h.patch @@ -1,21 +1,12 @@ -diff -u -r ../node-v8.12.0/src/node_internals.h ./src/node_internals.h ---- ../node-v8.12.0/src/node_internals.h 2018-09-10 18:47:03.000000000 +0000 -+++ ./src/node_internals.h 2018-09-18 03:11:24.361303054 +0000 -@@ -433,7 +433,7 @@ - void Umask(const v8::FunctionCallbackInfo& args); - void Uptime(const v8::FunctionCallbackInfo& args); +diff -u -r ../node-v11.7.0/src/node_internals.h ./src/node_internals.h +--- ../node-v11.7.0/src/node_internals.h 2019-01-17 21:27:16.000000000 +0000 ++++ ./src/node_internals.h 2019-01-18 22:44:06.207542176 +0000 +@@ -358,7 +358,7 @@ + + // Functions defined in node.cc that are exposed via the bootstrapper object -#if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__) +#if defined(__POSIX__) && !defined(__CloudABI__) - void SetGid(const v8::FunctionCallbackInfo& args); - void SetEGid(const v8::FunctionCallbackInfo& args); - void SetUid(const v8::FunctionCallbackInfo& args); -@@ -445,7 +445,7 @@ - void GetEUid(const v8::FunctionCallbackInfo& args); - void GetEGid(const v8::FunctionCallbackInfo& args); - void GetGroups(const v8::FunctionCallbackInfo& args); --#endif // __POSIX__ && !defined(__ANDROID__) && !defined(__CloudABI__) -+#endif // __POSIX__ && !defined(__CloudABI__) - - } // namespace node + #define NODE_IMPLEMENTS_POSIX_CREDENTIALS 1 + #endif // __POSIX__ && !defined(__ANDROID__) && !defined(__CloudABI__) diff --git a/packages/nodejs-lts/src-node_process.cc.patch b/packages/nodejs-lts/src-node_process.cc.patch deleted file mode 100644 index 8dd18c4b4..000000000 --- a/packages/nodejs-lts/src-node_process.cc.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -u -r ../node-v10.9.0/src/node_process.cc ./src/node_process.cc ---- ../node-v10.9.0/src/node_process.cc 2018-08-15 13:53:35.000000000 +0000 -+++ ./src/node_process.cc 2018-08-23 23:40:53.046488108 +0000 -@@ -20,7 +20,7 @@ - #include // setuid, getuid - #endif - --#if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__) -+#if defined(__POSIX__) && !defined(__CloudABI__) - #include // getpwnam() - #include // getgrnam() - #endif -@@ -247,7 +247,7 @@ - } - - --#if defined(__POSIX__) && !defined(__ANDROID__) && !defined(__CloudABI__) -+#if defined(__POSIX__) && !defined(__CloudABI__) - - static const uid_t uid_not_found = static_cast(-1); - static const gid_t gid_not_found = static_cast(-1); -@@ -546,6 +546,6 @@ - return env->ThrowErrnoException(errno, "initgroups"); - } - --#endif // __POSIX__ && !defined(__ANDROID__) && !defined(__CloudABI__) -+#endif // __POSIX__ && !defined(__CloudABI__) - - } // namespace node diff --git a/packages/nodejs-lts/tools-v8_gypfiles-v8.gyp.patch b/packages/nodejs-lts/tools-v8_gypfiles-v8.gyp.patch new file mode 100644 index 000000000..5f547be57 --- /dev/null +++ b/packages/nodejs-lts/tools-v8_gypfiles-v8.gyp.patch @@ -0,0 +1,11 @@ +diff -u -r ../node-v12.9.0/tools/v8_gypfiles/v8.gyp ./tools/v8_gypfiles/v8.gyp +--- ../node-v12.9.0/tools/v8_gypfiles/v8.gyp 2019-08-20 17:14:53.000000000 +0000 ++++ ./tools/v8_gypfiles/v8.gyp 2019-08-24 22:02:57.943558855 +0000 +@@ -1010,6 +1010,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', ++ '<(V8_ROOT)/src/base/platform/platform-linux.cc', + ], + 'conditions': [ + ['_toolset=="host"', {