node: update to v12.15.0
Update to v12.15.0 Support Python3 : https://github.com/openwrt/packages/issues/8893 Preparing to deprecate nosnapshot builds. Signed-off-by: Hirokazu MORIKAWA <morikw2@gmail.com>
This commit is contained in:
parent
d84356662d
commit
ffd3def400
|
@ -8,26 +8,27 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=node
|
PKG_NAME:=node
|
||||||
PKG_VERSION:=v8.16.1
|
PKG_VERSION:=v12.15.0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_SOURCE:=node-$(PKG_VERSION).tar.xz
|
|
||||||
PKG_SOURCE_URL:=https://nodejs.org/dist/${PKG_VERSION}
|
|
||||||
PKG_HASH:=d8c190acdf2d967faf49c22df883d31a8d4e249d67852dae3c2d8a0f756b0512
|
|
||||||
|
|
||||||
HOST_BUILD_DEPENDS:=python/host
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_BUILD_DEPENDS:=python/host
|
PKG_SOURCE_URL:=https://nodejs.org/dist/$(PKG_VERSION)
|
||||||
|
PKG_HASH:=d2fb4fa80ccf321570552b0a6e6b5f2aedeb281a8450207b057cf54c54d5a81b
|
||||||
PKG_INSTALL:=1
|
|
||||||
PKG_USE_MIPS16:=0
|
|
||||||
|
|
||||||
HOST_BUILD_PARALLEL:=1
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
|
||||||
|
|
||||||
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>, Adrian Panella <ianchi74@outlook.com>
|
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>, Adrian Panella <ianchi74@outlook.com>
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
PKG_LICENSE_FILES:=LICENSE
|
PKG_LICENSE_FILES:=LICENSE
|
||||||
PKG_CPE_ID:=cpe:/a:nodejs:node.js
|
PKG_CPE_ID:=cpe:/a:nodejs:node.js
|
||||||
|
|
||||||
|
HOST_BUILD_DEPENDS:=python3/host
|
||||||
|
HOST_BUILD_PARALLEL:=1
|
||||||
|
|
||||||
|
PKG_BUILD_DEPENDS:=python3/host
|
||||||
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
PKG_INSTALL:=1
|
||||||
|
PKG_USE_MIPS16:=0
|
||||||
|
PKG_ASLR_PIE:=0
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/host-build.mk
|
include $(INCLUDE_DIR)/host-build.mk
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -37,15 +38,16 @@ define Package/node
|
||||||
SUBMENU:=Node.js
|
SUBMENU:=Node.js
|
||||||
TITLE:=Node.js is a platform built on Chrome's JavaScript runtime
|
TITLE:=Node.js is a platform built on Chrome's JavaScript runtime
|
||||||
URL:=https://nodejs.org/
|
URL:=https://nodejs.org/
|
||||||
DEPENDS:=@(HAS_FPU||KERNEL_MIPS_FPU_EMULATOR) @!arc @!armeb \
|
DEPENDS:=@(HAS_FPU||KERNEL_MIPS_FPU_EMULATOR) @!arc @!armeb @!powerpc \
|
||||||
+libstdcpp +libopenssl +zlib +libnghttp2 +libuv +libhttp-parser \
|
+libstdcpp +libopenssl +zlib +libnghttp2 +libuv +libhttp-parser \
|
||||||
+NODEJS_ICU:icu
|
+libcares +libatomic +NODEJS_ICU_SYSTEM:icu +NODEJS_ICU_SYSTEM:icu-full-data
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/node/description
|
define Package/node/description
|
||||||
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses
|
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses
|
||||||
an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js'
|
an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js'
|
||||||
package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
|
package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
|
||||||
|
*** Requires GCC/G++ Multilib on host system to build 32-bit target ***
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/node-npm
|
define Package/node-npm
|
||||||
|
@ -53,7 +55,7 @@ define Package/node-npm
|
||||||
CATEGORY:=Languages
|
CATEGORY:=Languages
|
||||||
SUBMENU:=Node.js
|
SUBMENU:=Node.js
|
||||||
TITLE:=NPM stands for Node Package Manager
|
TITLE:=NPM stands for Node Package Manager
|
||||||
URL:=https://npmjs.com/
|
URL:=https://www.npmjs.com/
|
||||||
DEPENDS:=+node
|
DEPENDS:=+node
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -63,35 +65,54 @@ endef
|
||||||
|
|
||||||
define Package/node/config
|
define Package/node/config
|
||||||
if PACKAGE_node
|
if PACKAGE_node
|
||||||
|
choice
|
||||||
|
prompt "i18n features"
|
||||||
|
default NODEJS_ICU_NONE
|
||||||
|
help
|
||||||
|
Select i18n features
|
||||||
|
|
||||||
config NODEJS_ICU
|
config NODEJS_ICU_NONE
|
||||||
bool "enable i18n features"
|
bool "Disable"
|
||||||
default n
|
|
||||||
|
|
||||||
|
config NODEJS_ICU_SMALL
|
||||||
|
depends on !BIG_ENDIAN
|
||||||
|
bool "small-icu"
|
||||||
|
|
||||||
|
config NODEJS_ICU_SYSTEM
|
||||||
|
depends on ARCH_64BIT&&!BIG_ENDIAN
|
||||||
|
bool "system-icu"
|
||||||
|
endchoice
|
||||||
endif
|
endif
|
||||||
endef
|
endef
|
||||||
|
|
||||||
NODEJS_CPU:=$(subst powerpc,ppc,$(subst aarch64,arm64,$(subst x86_64,x64,$(subst i386,ia32,$(ARCH)))))
|
NODEJS_CPU:=$(subst powerpc,ppc,$(subst aarch64,arm64,$(subst x86_64,x64,$(subst i386,ia32,$(ARCH)))))
|
||||||
|
|
||||||
|
ifneq ($(CONFIG_ARCH_64BIT),y)
|
||||||
|
FORCE_32BIT:=-m32
|
||||||
|
endif
|
||||||
|
|
||||||
MAKE_VARS+= \
|
MAKE_VARS+= \
|
||||||
DESTCPU=$(NODEJS_CPU)
|
DESTCPU=$(NODEJS_CPU) \
|
||||||
|
LD_LIBRARY_PATH=$(STAGING_DIR_HOSTPKG)/share/icu/65.1/lib
|
||||||
|
|
||||||
CONFIGURE_VARS:= \
|
CONFIGURE_VARS:= \
|
||||||
CC="$(TARGET_CC) $(TARGET_OPTIMIZATION)" \
|
CC="$(TARGET_CC) $(TARGET_OPTIMIZATION)" \
|
||||||
CXX="$(TARGET_CXX) $(TARGET_OPTIMIZATION)" \
|
CXX="$(TARGET_CXX) $(TARGET_OPTIMIZATION)" \
|
||||||
CC_host="$(HOSTCC)" \
|
CC_host="$(HOSTCC) $(FORCE_32BIT)" \
|
||||||
CXX_host="$(HOSTCXX)"
|
CXX_host="$(HOSTCXX) $(FORCE_32BIT)"
|
||||||
|
|
||||||
CONFIGURE_ARGS:= \
|
CONFIGURE_ARGS:= \
|
||||||
--dest-cpu=$(NODEJS_CPU) \
|
--dest-cpu=$(NODEJS_CPU) \
|
||||||
--dest-os=linux \
|
--dest-os=linux \
|
||||||
--without-snapshot \
|
--cross-compiling \
|
||||||
--shared-zlib \
|
--shared-zlib \
|
||||||
--shared-openssl \
|
--shared-openssl \
|
||||||
--shared-nghttp2 \
|
--shared-nghttp2 \
|
||||||
--shared-libuv \
|
--shared-libuv \
|
||||||
--shared-http-parser \
|
--shared-http-parser \
|
||||||
--with-intl=$(if $(CONFIG_NODEJS_ICU),system-icu,none) \
|
--shared-cares \
|
||||||
|
$(if $(CONFIG_NODEJS_ICU_SMALL),, \
|
||||||
|
--with-intl=$(if $(CONFIG_NODEJS_ICU_SYSTEM),system-icu,none)) \
|
||||||
$(if $(findstring mips,$(NODEJS_CPU)), \
|
$(if $(findstring mips,$(NODEJS_CPU)), \
|
||||||
$(if $(CONFIG_SOFT_FLOAT),--with-mips-float-abi=soft)) \
|
$(if $(CONFIG_SOFT_FLOAT),--with-mips-float-abi=soft)) \
|
||||||
$(if $(findstring +neon,$(CONFIG_CPU_TYPE)),--with-arm-fpu=neon) \
|
$(if $(findstring +neon,$(CONFIG_CPU_TYPE)),--with-arm-fpu=neon) \
|
||||||
|
@ -104,29 +125,25 @@ HOST_CONFIGURE_VARS:=
|
||||||
|
|
||||||
HOST_CONFIGURE_ARGS:= \
|
HOST_CONFIGURE_ARGS:= \
|
||||||
--dest-os=$(if $(findstring Darwin,$(HOST_OS)),mac,linux) \
|
--dest-os=$(if $(findstring Darwin,$(HOST_OS)),mac,linux) \
|
||||||
--without-snapshot \
|
--with-intl=none \
|
||||||
--prefix=$(STAGING_DIR_HOSTPKG)
|
--prefix=$(STAGING_DIR_HOSTPKG)
|
||||||
|
|
||||||
HOST_CONFIGURE_CMD:=python ./configure
|
|
||||||
|
|
||||||
define Build/InstallDev
|
define Build/InstallDev
|
||||||
$(INSTALL_DIR) $(1)/usr/include
|
$(INSTALL_DIR) $(1)/usr/include
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/node/install
|
define Package/node/install
|
||||||
mkdir -p $(1)/usr/bin
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/node $(1)/usr/bin/
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/node $(1)/usr/bin/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/node-npm/install
|
define Package/node-npm/install
|
||||||
mkdir -p $(1)/usr/bin $(1)/usr/lib/node_modules/npm/{bin,lib,node_modules}
|
$(INSTALL_DIR) $(1)/usr/lib/node_modules
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/{npm,npx} $(1)/usr/bin/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/* $(1)/usr/lib/node_modules/
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/npm/{package.json,LICENSE} $(1)/usr/lib/node_modules/npm
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/npm/bin/npm-cli.js $(1)/usr/lib/node_modules/npm/bin
|
$(LN) ../lib/node_modules/npm/bin/npm-cli.js $(1)/usr/bin/npm
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/npm/bin/npx-cli.js $(1)/usr/lib/node_modules/npm/bin
|
$(LN) ../lib/node_modules/npm/bin/npx-cli.js $(1)/usr/bin/npx
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/npm/lib/* $(1)/usr/lib/node_modules/npm/lib/
|
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/npm/node_modules/* $(1)/usr/lib/node_modules/npm/node_modules/
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call HostBuild))
|
$(eval $(call HostBuild))
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/deps/v8/src/base/cpu.cc
|
--- a/deps/v8/src/base/cpu.cc
|
||||||
+++ b/deps/v8/src/base/cpu.cc
|
+++ b/deps/v8/src/base/cpu.cc
|
||||||
@@ -144,6 +144,7 @@
|
@@ -143,6 +143,7 @@
|
||||||
".set push\n\t"
|
".set push\n\t"
|
||||||
".set noreorder\n\t"
|
".set noreorder\n\t"
|
||||||
".set oddspreg\n\t"
|
".set oddspreg\n\t"
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
--- a/deps/uv/src/unix/getaddrinfo.c
|
--- a/deps/uv/src/unix/getaddrinfo.c
|
||||||
+++ b/deps/uv/src/unix/getaddrinfo.c
|
+++ b/deps/uv/src/unix/getaddrinfo.c
|
||||||
@@ -100,6 +100,7 @@
|
@@ -103,6 +103,7 @@
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
req = container_of(w, uv_getaddrinfo_t, work_req);
|
req = container_of(w, uv_getaddrinfo_t, work_req);
|
||||||
+ req->hints->ai_flags &= ~AI_V4MAPPED;
|
+ req->hints->ai_flags &= ~AI_V4MAPPED;
|
||||||
err = getaddrinfo(req->hostname, req->service, req->hints, &req->addrinfo);
|
err = getaddrinfo(req->hostname, req->service, req->hints, &req->addrinfo);
|
||||||
req->retcode = uv__getaddrinfo_translate_error(err);
|
req->retcode = uv__getaddrinfo_translate_error(err);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
--- a/lib/module.js
|
--- a/lib/internal/modules/cjs/loader.js
|
||||||
+++ b/lib/module.js
|
+++ b/lib/internal/modules/cjs/loader.js
|
||||||
@@ -715,7 +715,8 @@
|
@@ -1095,7 +1095,8 @@
|
||||||
} else {
|
path.resolve(process.execPath, '..') :
|
||||||
prefixDir = path.resolve(process.execPath, '..', '..');
|
path.resolve(process.execPath, '..', '..');
|
||||||
}
|
|
||||||
- var paths = [path.resolve(prefixDir, 'lib', 'node')];
|
- let paths = [path.resolve(prefixDir, 'lib', 'node')];
|
||||||
+ var paths = [path.resolve(prefixDir, 'lib', 'node'),
|
+ let paths = [path.resolve(prefixDir, 'lib', 'node'),
|
||||||
+ path.resolve(prefixDir, 'lib', 'node_modules')];
|
+ path.resolve(prefixDir, 'lib', 'node_modules')];
|
||||||
|
|
||||||
if (homeDir) {
|
if (homeDir) {
|
||||||
|
|
|
@ -0,0 +1,61 @@
|
||||||
|
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
|
||||||
|
@@ -16,7 +16,7 @@
|
||||||
|
|
||||||
|
ConditionVariable::ConditionVariable() {
|
||||||
|
#if (V8_OS_FREEBSD || V8_OS_NETBSD || V8_OS_OPENBSD || \
|
||||||
|
- (V8_OS_LINUX && V8_LIBC_GLIBC))
|
||||||
|
+ V8_OS_LINUX)
|
||||||
|
// On Free/Net/OpenBSD and Linux with glibc we can change the time
|
||||||
|
// source for pthread_cond_timedwait() to use the monotonic clock.
|
||||||
|
pthread_condattr_t attr;
|
||||||
|
@@ -92,7 +92,7 @@
|
||||||
|
&native_handle_, &mutex->native_handle(), &ts);
|
||||||
|
#else
|
||||||
|
#if (V8_OS_FREEBSD || V8_OS_NETBSD || V8_OS_OPENBSD || \
|
||||||
|
- (V8_OS_LINUX && V8_LIBC_GLIBC))
|
||||||
|
+ V8_OS_LINUX)
|
||||||
|
// On Free/Net/OpenBSD and Linux with glibc we can change the time
|
||||||
|
// 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
|
||||||
|
@@ -773,7 +773,7 @@
|
||||||
|
#if V8_OS_MACOSX
|
||||||
|
// Default on Mac OS X is 512kB -- bump up to 1MB
|
||||||
|
stack_size = 1 * 1024 * 1024;
|
||||||
|
-#elif V8_OS_AIX
|
||||||
|
+#elif V8_OS_AIX || !defined(__GLIBC__)
|
||||||
|
// Default on AIX is 96kB -- bump up to 2MB
|
||||||
|
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
|
||||||
|
@@ -9,7 +9,7 @@
|
||||||
|
#include "src/ic/stub-cache.h"
|
||||||
|
#include "src/logging/counters.h"
|
||||||
|
|
||||||
|
-#if defined(DEBUG) && defined(V8_OS_LINUX) && !defined(V8_OS_ANDROID)
|
||||||
|
+#if defined(DEBUG) && defined(V8_OS_LINUX) && !defined(V8_OS_ANDROID) && defined(V8_LIBC_GLIBC)
|
||||||
|
#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();
|
|
@ -1,96 +0,0 @@
|
||||||
diff --git a/src/node_crypto.cc b/src/node_crypto.cc
|
|
||||||
index c3779c0..611fb43 100644
|
|
||||||
--- a/src/node_crypto.cc
|
|
||||||
+++ b/src/node_crypto.cc
|
|
||||||
@@ -43,6 +43,11 @@
|
|
||||||
#include <string.h>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+#define X509_get0_notBefore X509_get_notBefore
|
|
||||||
+#define X509_get0_notAfter X509_get_notAfter
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#define THROW_AND_RETURN_IF_NOT_STRING_OR_BUFFER(val, prefix) \
|
|
||||||
do { \
|
|
||||||
if (!Buffer::HasInstance(val) && !val->IsString()) { \
|
|
||||||
@@ -536,6 +541,7 @@ void SecureContext::Init(const FunctionCallbackInfo<Value>& args) {
|
|
||||||
method = SSLv23_server_method();
|
|
||||||
} else if (strcmp(*sslmethod, "SSLv23_client_method") == 0) {
|
|
||||||
method = SSLv23_client_method();
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
} else if (strcmp(*sslmethod, "TLSv1_method") == 0) {
|
|
||||||
method = TLSv1_method();
|
|
||||||
} else if (strcmp(*sslmethod, "TLSv1_server_method") == 0) {
|
|
||||||
@@ -554,6 +560,14 @@ void SecureContext::Init(const FunctionCallbackInfo<Value>& args) {
|
|
||||||
method = TLSv1_2_server_method();
|
|
||||||
} else if (strcmp(*sslmethod, "TLSv1_2_client_method") == 0) {
|
|
||||||
method = TLSv1_2_client_method();
|
|
||||||
+#else
|
|
||||||
+ } else if (strcmp(*sslmethod, "TLS_method") == 0) {
|
|
||||||
+ method = TLS_method();
|
|
||||||
+ } else if (strcmp(*sslmethod, "TLS_server_method") == 0) {
|
|
||||||
+ method = TLS_server_method();
|
|
||||||
+ } else if (strcmp(*sslmethod, "TLS_client_method") == 0) {
|
|
||||||
+ method = TLS_client_method();
|
|
||||||
+#endif
|
|
||||||
} else {
|
|
||||||
return env->ThrowError("Unknown method");
|
|
||||||
}
|
|
||||||
@@ -1799,7 +1813,7 @@ static Local<Object> X509ToObject(Environment* env, X509* cert) {
|
|
||||||
rsa = nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
- ASN1_TIME_print(bio, X509_get_notBefore(cert));
|
|
||||||
+ ASN1_TIME_print(bio, X509_get0_notBefore(cert));
|
|
||||||
BIO_get_mem_ptr(bio, &mem);
|
|
||||||
info->Set(context, env->valid_from_string(),
|
|
||||||
String::NewFromUtf8(env->isolate(), mem->data,
|
|
||||||
@@ -1807,7 +1821,7 @@ static Local<Object> X509ToObject(Environment* env, X509* cert) {
|
|
||||||
mem->length)).FromJust();
|
|
||||||
(void) BIO_reset(bio);
|
|
||||||
|
|
||||||
- ASN1_TIME_print(bio, X509_get_notAfter(cert));
|
|
||||||
+ ASN1_TIME_print(bio, X509_get0_notAfter(cert));
|
|
||||||
BIO_get_mem_ptr(bio, &mem);
|
|
||||||
info->Set(context, env->valid_to_string(),
|
|
||||||
String::NewFromUtf8(env->isolate(), mem->data,
|
|
||||||
@@ -6191,8 +6205,12 @@ void TimingSafeEqual(const FunctionCallbackInfo<Value>& args) {
|
|
||||||
}
|
|
||||||
|
|
||||||
void InitCryptoOnce() {
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
SSL_load_error_strings();
|
|
||||||
OPENSSL_no_config();
|
|
||||||
+#else
|
|
||||||
+ OPENSSL_init_crypto(OPENSSL_INIT_NO_LOAD_CONFIG, NULL);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
// --openssl-config=...
|
|
||||||
if (!openssl_config.empty()) {
|
|
||||||
@@ -6214,10 +6232,10 @@ void InitCryptoOnce() {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
SSL_library_init();
|
|
||||||
OpenSSL_add_all_algorithms();
|
|
||||||
|
|
||||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
crypto_lock_init();
|
|
||||||
CRYPTO_set_locking_callback(crypto_lock_cb);
|
|
||||||
CRYPTO_THREADID_set_callback(crypto_threadid_cb);
|
|
||||||
diff --git a/src/node_crypto.h b/src/node_crypto.h
|
|
||||||
index 58f5b72..875a787 100644
|
|
||||||
--- a/src/node_crypto.h
|
|
||||||
+++ b/src/node_crypto.h
|
|
||||||
@@ -37,6 +37,9 @@
|
|
||||||
#include "v8.h"
|
|
||||||
|
|
||||||
#include <openssl/ssl.h>
|
|
||||||
+#include <openssl/bn.h>
|
|
||||||
+#include <openssl/rsa.h>
|
|
||||||
+#include <openssl/dh.h>
|
|
||||||
#include <openssl/ec.h>
|
|
||||||
#include <openssl/ecdh.h>
|
|
||||||
#ifndef OPENSSL_NO_ENGINE
|
|
|
@ -1,16 +0,0 @@
|
||||||
--- a/deps/v8/src/libsampler/sampler.cc
|
|
||||||
+++ b/deps/v8/src/libsampler/sampler.cc
|
|
||||||
@@ -456,8 +456,12 @@
|
|
||||||
reinterpret_cast<void*>(ucontext->uc_mcontext.regs->gpr[PT_R1]);
|
|
||||||
state->fp =
|
|
||||||
reinterpret_cast<void*>(ucontext->uc_mcontext.regs->gpr[PT_R31]);
|
|
||||||
-#else
|
|
||||||
+#elif V8_TARGET_ARCH_32_BIT
|
|
||||||
// Some C libraries, notably Musl, define the regs member as a void pointer
|
|
||||||
+ state->pc = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[32]);
|
|
||||||
+ state->sp = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[1]);
|
|
||||||
+ state->fp = reinterpret_cast<void*>(ucontext->uc_mcontext.gregs[31]);
|
|
||||||
+#else
|
|
||||||
state->pc = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[32]);
|
|
||||||
state->sp = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[1]);
|
|
||||||
state->fp = reinterpret_cast<void*>(ucontext->uc_mcontext.gp_regs[31]);
|
|
|
@ -1,15 +1,15 @@
|
||||||
--- a/configure
|
--- a/configure.py
|
||||||
+++ b/configure
|
+++ b/configure.py
|
||||||
@@ -60,7 +60,7 @@
|
@@ -48,7 +48,7 @@
|
||||||
|
|
||||||
valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux',
|
valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux',
|
||||||
'android', 'aix')
|
'android', 'aix', 'cloudabi')
|
||||||
-valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', 'ppc',
|
-valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', 'ppc',
|
||||||
+valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64', 'mips64el', 'ppc',
|
+valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64', 'mips64el', 'ppc',
|
||||||
'ppc64', 'x32','x64', 'x86', 'x86_64', 's390', 's390x')
|
'ppc64', 'x32','x64', 'x86', 'x86_64', 's390x')
|
||||||
valid_arm_float_abi = ('soft', 'softfp', 'hard')
|
valid_arm_float_abi = ('soft', 'softfp', 'hard')
|
||||||
valid_arm_fpu = ('vfp', 'vfpv3', 'vfpv3-d16', 'neon')
|
valid_arm_fpu = ('vfp', 'vfpv3', 'vfpv3-d16', 'neon')
|
||||||
@@ -795,6 +795,9 @@
|
@@ -883,6 +883,9 @@
|
||||||
if rtn == 'mipsel' and '_LP64' in k:
|
if rtn == 'mipsel' and '_LP64' in k:
|
||||||
rtn = 'mips64el'
|
rtn = 'mips64el'
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
return rtn
|
return rtn
|
||||||
|
|
||||||
|
|
||||||
@@ -877,7 +880,7 @@
|
@@ -981,7 +984,7 @@
|
||||||
|
|
||||||
if target_arch == 'arm':
|
if target_arch == 'arm':
|
||||||
configure_arm(o)
|
configure_arm(o)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/tools/gyp/pylib/gyp/generator/make.py
|
--- a/tools/gyp/pylib/gyp/generator/make.py
|
||||||
+++ b/tools/gyp/pylib/gyp/generator/make.py
|
+++ b/tools/gyp/pylib/gyp/generator/make.py
|
||||||
@@ -174,7 +174,7 @@
|
@@ -176,7 +176,7 @@
|
||||||
|
|
||||||
LINK_COMMANDS_MAC = """\
|
LINK_COMMANDS_MAC = """\
|
||||||
quiet_cmd_alink = LIBTOOL-STATIC $@
|
quiet_cmd_alink = LIBTOOL-STATIC $@
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
--- 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
|
|
@ -0,0 +1,78 @@
|
||||||
|
--- a/tools/icu/icu-generic.gyp
|
||||||
|
+++ b/tools/icu/icu-generic.gyp
|
||||||
|
@@ -517,6 +517,7 @@
|
||||||
|
'target_name': 'genrb',
|
||||||
|
'type': 'executable',
|
||||||
|
'toolsets': [ 'host' ],
|
||||||
|
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
|
||||||
|
'dependencies': [ 'icutools' ],
|
||||||
|
'sources': [
|
||||||
|
'<@(icu_src_genrb)'
|
||||||
|
@@ -533,6 +534,7 @@
|
||||||
|
'target_name': 'iculslocs',
|
||||||
|
'toolsets': [ 'host' ],
|
||||||
|
'type': 'executable',
|
||||||
|
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
|
||||||
|
'dependencies': [ 'icutools' ],
|
||||||
|
'sources': [
|
||||||
|
'iculslocs.cc',
|
||||||
|
@@ -545,6 +547,7 @@
|
||||||
|
'target_name': 'icupkg',
|
||||||
|
'toolsets': [ 'host' ],
|
||||||
|
'type': 'executable',
|
||||||
|
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
|
||||||
|
'dependencies': [ 'icutools' ],
|
||||||
|
'sources': [
|
||||||
|
'<@(icu_src_icupkg)',
|
||||||
|
@@ -556,6 +559,7 @@
|
||||||
|
'target_name': 'genccode',
|
||||||
|
'toolsets': [ 'host' ],
|
||||||
|
'type': 'executable',
|
||||||
|
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
|
||||||
|
'dependencies': [ 'icutools' ],
|
||||||
|
'sources': [
|
||||||
|
'<@(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
|
||||||
|
@@ -1258,6 +1258,7 @@
|
||||||
|
{
|
||||||
|
'target_name': 'bytecode_builtins_list_generator',
|
||||||
|
'type': 'executable',
|
||||||
|
+ 'libraries!':[ '-licui18n', '-licuuc', '-licudata', '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
|
||||||
|
'conditions': [
|
||||||
|
['want_separate_host_toolset', {
|
||||||
|
'toolsets': ['host'],
|
||||||
|
@@ -1281,6 +1282,8 @@
|
||||||
|
{
|
||||||
|
'target_name': 'mksnapshot',
|
||||||
|
'type': 'executable',
|
||||||
|
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
|
||||||
|
+ 'library_dirs':[ '../../../../staging_dir/hostpkg/share/icu/65.1/lib' ],
|
||||||
|
'dependencies': [
|
||||||
|
'v8_base_without_compiler',
|
||||||
|
'v8_compiler_for_mksnapshot',
|
||||||
|
@@ -1303,6 +1306,7 @@
|
||||||
|
{
|
||||||
|
'target_name': 'torque',
|
||||||
|
'type': 'executable',
|
||||||
|
+ 'libraries!':[ '-licui18n', '-licuuc', '-licudata', '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
|
||||||
|
'dependencies': [
|
||||||
|
'torque_base',
|
||||||
|
# "build/win:default_exe_manifest",
|
||||||
|
@@ -1341,6 +1345,7 @@
|
||||||
|
{
|
||||||
|
'target_name': 'torque-language-server',
|
||||||
|
'type': 'executable',
|
||||||
|
+ 'libraries!':[ '-licui18n', '-licuuc', '-licudata', '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
|
||||||
|
'conditions': [
|
||||||
|
['want_separate_host_toolset', {
|
||||||
|
'toolsets': ['host'],
|
||||||
|
@@ -1368,6 +1373,8 @@
|
||||||
|
{
|
||||||
|
'target_name': 'gen-regexp-special-case',
|
||||||
|
'type': 'executable',
|
||||||
|
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
|
||||||
|
+ 'library_dirs':[ '../../../../staging_dir/hostpkg/share/icu/65.1/lib' ],
|
||||||
|
'dependencies': [
|
||||||
|
'v8_libbase',
|
||||||
|
# "build/win:default_exe_manifest",
|
|
@ -0,0 +1,14 @@
|
||||||
|
diff -urN a/node.gypi b/node.gypi
|
||||||
|
--- a/node.gypi 2019-09-05 00:36:25.000000000 +0900
|
||||||
|
+++ b/node.gypi 2019-09-13 09:57:54.073191914 +0900
|
||||||
|
@@ -142,6 +142,10 @@
|
||||||
|
'deps/http_parser/http_parser.gyp:http_parser',
|
||||||
|
'deps/llhttp/llhttp.gyp:llhttp'
|
||||||
|
],
|
||||||
|
+ }, {
|
||||||
|
+ 'dependencies': [
|
||||||
|
+ 'deps/llhttp/llhttp.gyp:llhttp'
|
||||||
|
+ ],
|
||||||
|
} ],
|
||||||
|
|
||||||
|
[ 'node_shared_cares=="false"', {
|
|
@ -0,0 +1,37 @@
|
||||||
|
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
|
||||||
|
@@ -1202,6 +1202,25 @@
|
||||||
|
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'
|
||||||
|
+ elif target_arch in ('mipsel', 'mips64el'):
|
||||||
|
+ o['variables']['v8_enable_embedded_builtins'] = 0
|
||||||
|
+ elif target_arch == 'x64':
|
||||||
|
+ if options.with_intl in (None, 'none'):
|
||||||
|
+ o['variables']['v8_enable_embedded_builtins'] = 0
|
||||||
|
+ elif target_arch == 'ia32':
|
||||||
|
+ if options.with_intl in (None, 'none'):
|
||||||
|
+ o['variables']['v8_enable_embedded_builtins'] = 1
|
||||||
|
+ else:
|
||||||
|
+ o['variables']['v8_enable_embedded_builtins'] = 0
|
||||||
|
|
||||||
|
def configure_openssl(o):
|
||||||
|
variables = o['variables']
|
||||||
|
@@ -1632,6 +1651,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
|
Loading…
Reference in New Issue