Update to 7.4.0 [1]
- Fix build on ARMv6 [2] - While I'm here, remove duplicate PLIST_SUB which is already handled by OPTIONS_SUB=yes Changes: https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V7.md https://nodejs.org/en/blog/release/v7.4.0/ PR: 215775 [1], 215044 [2] Submitted by: Bradley T. Hughes <bradleythughes@fastmail.fm> (maintainer) [1], Peter Laursen <plaursen@kobalt.dk> [2]
This commit is contained in:
parent
7f13e4e93a
commit
9c328055d5
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=430663
6 changed files with 129 additions and 9 deletions
|
@ -1,7 +1,7 @@
|
|||
# $FreeBSD$
|
||||
|
||||
PORTNAME= node
|
||||
PORTVERSION= 7.3.0
|
||||
PORTVERSION= 7.4.0
|
||||
DISTVERSIONPREFIX= v
|
||||
CATEGORIES= www
|
||||
MASTER_SITES= http://nodejs.org/dist/v${PORTVERSION}/
|
||||
|
@ -22,7 +22,7 @@ OPTIONS_EXCLUDE+= DTRACE
|
|||
|
||||
OPTIONS_EXCLUDE_FreeBSD_10= DTRACE
|
||||
|
||||
BUNDLED_SSL_DESC= Use node.js's bundled OpenSSL implementation
|
||||
BUNDLED_SSL_DESC= Use node.js's bundled OpenSSL implementation #'
|
||||
BUNDLED_SSL_USES_OFF= ssl
|
||||
BUNDLED_SSL_CONFIGURE_OFF= --shared-openssl
|
||||
|
||||
|
@ -73,7 +73,7 @@ IGNORE= cannot build node.js with LibreSSL. You must enable BUNDLED_SSL
|
|||
.endif
|
||||
|
||||
.if ${ARCH} == "armv6"
|
||||
CONFIGURE_ARGS= --openssl-no-asm
|
||||
CONFIGURE_ARGS+=--openssl-no-asm
|
||||
.endif
|
||||
|
||||
.if ${COMPILER_TYPE} == gcc
|
||||
|
@ -82,10 +82,7 @@ CXXFLAGS+= -D_GLIBCXX_USE_C99
|
|||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MDTRACE}
|
||||
PLIST_SUB+= DTRACE=""
|
||||
CONFIGURE_ARGS+= --with-dtrace
|
||||
.else
|
||||
PLIST_SUB+= DTRACE="@comment "
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1482348024
|
||||
SHA256 (node-v7.3.0.tar.gz) = 5ba8a26e5341ec738ee6f1aacdd82be4002aef64716d069e060d901ade13c5b0
|
||||
SIZE (node-v7.3.0.tar.gz) = 27606508
|
||||
TIMESTAMP = 1483556744
|
||||
SHA256 (node-v7.4.0.tar.gz) = 69b76c86e6fc9914fa136089d8c28a4828c14aa8792cbdf946090a5a2afd25b6
|
||||
SIZE (node-v7.4.0.tar.gz) = 27904025
|
||||
|
|
22
www/node/files/patch-deps_v8_src_arm_cpu-arm.cc
Normal file
22
www/node/files/patch-deps_v8_src_arm_cpu-arm.cc
Normal file
|
@ -0,0 +1,22 @@
|
|||
--- deps/v8/src/arm/cpu-arm.cc.orig 2016-10-19 22:02:03 UTC
|
||||
+++ deps/v8/src/arm/cpu-arm.cc
|
||||
@@ -7,6 +7,9 @@
|
||||
#ifdef __QNXNTO__
|
||||
#include <sys/mman.h> // for cache flushing.
|
||||
#undef MAP_TYPE
|
||||
+#elif defined(__FreeBSD__)
|
||||
+#include <sys/types.h>
|
||||
+#include <machine/sysarch.h> // for cache flushing.
|
||||
#else
|
||||
#include <sys/syscall.h> // for cache flushing.
|
||||
#endif
|
||||
@@ -24,6 +27,9 @@ void CpuFeatures::FlushICache(void* star
|
||||
#if !defined(USE_SIMULATOR)
|
||||
#if V8_OS_QNX
|
||||
msync(start, size, MS_SYNC | MS_INVALIDATE_ICACHE);
|
||||
+#elif defined(__FreeBSD__)
|
||||
+ struct arm_sync_icache_args args = { .addr = (uintptr_t)start, .len = size };
|
||||
+ sysarch(ARM_SYNC_ICACHE, (void *)&args);
|
||||
#else
|
||||
register uint32_t beg asm("r0") = reinterpret_cast<uint32_t>(start);
|
||||
register uint32_t end asm("r1") = beg + size;
|
|
@ -0,0 +1,35 @@
|
|||
--- deps/v8/src/base/atomicops_internals_arm_gcc.h.orig 2016-10-19 22:02:03 UTC
|
||||
+++ deps/v8/src/base/atomicops_internals_arm_gcc.h
|
||||
@@ -13,6 +13,11 @@
|
||||
#include <sys/cpuinline.h>
|
||||
#endif
|
||||
|
||||
+#if defined(__FreeBSD__)
|
||||
+#include <sys/types.h>
|
||||
+#include <machine/sysarch.h>
|
||||
+#endif
|
||||
+
|
||||
namespace v8 {
|
||||
namespace base {
|
||||
|
||||
@@ -48,6 +53,8 @@ inline void MemoryBarrier() {
|
||||
// Note: This is a function call, which is also an implicit compiler barrier.
|
||||
typedef void (*KernelMemoryBarrierFunc)();
|
||||
((KernelMemoryBarrierFunc)0xffff0fa0)();
|
||||
+#elif defined(__FreeBSD__)
|
||||
+ sysarch(ARM_DRAIN_WRITEBUF, (void *)0);
|
||||
#elif defined(__QNXNTO__)
|
||||
__cpu_membarrier();
|
||||
#else
|
||||
@@ -64,8 +71,9 @@ inline void MemoryBarrier() {
|
||||
defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \
|
||||
defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || \
|
||||
defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || \
|
||||
- defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || \
|
||||
- defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__)
|
||||
+ defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6KZ__) || \
|
||||
+ defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || \
|
||||
+ defined(__ARM_ARCH_6T2__)
|
||||
|
||||
inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
|
||||
Atomic32 old_value,
|
|
@ -0,0 +1,51 @@
|
|||
--- deps/v8/src/base/platform/platform-freebsd.cc.orig 2016-10-19 22:02:03 UTC
|
||||
+++ deps/v8/src/base/platform/platform-freebsd.cc
|
||||
@@ -35,6 +35,48 @@
|
||||
namespace v8 {
|
||||
namespace base {
|
||||
|
||||
+#ifdef __arm__
|
||||
+
|
||||
+bool OS::ArmUsingHardFloat() {
|
||||
+ // GCC versions 4.6 and above define __ARM_PCS or __ARM_PCS_VFP to specify
|
||||
+ // the Floating Point ABI used (PCS stands for Procedure Call Standard).
|
||||
+ // We use these as well as a couple of other defines to statically determine
|
||||
+ // what FP ABI used.
|
||||
+ // GCC versions 4.4 and below don't support hard-fp.
|
||||
+ // GCC versions 4.5 may support hard-fp without defining __ARM_PCS or
|
||||
+ // __ARM_PCS_VFP.
|
||||
+
|
||||
+#define GCC_VERSION (__GNUC__ * 10000 \
|
||||
+ + __GNUC_MINOR__ * 100 \
|
||||
+ + __GNUC_PATCHLEVEL__)
|
||||
+#if GCC_VERSION >= 40600
|
||||
+#if defined(__ARM_PCS_VFP)
|
||||
+ return true;
|
||||
+#else
|
||||
+ return false;
|
||||
+#endif
|
||||
+
|
||||
+#elif GCC_VERSION < 40500
|
||||
+ return false;
|
||||
+
|
||||
+#else
|
||||
+#if defined(__ARM_PCS_VFP)
|
||||
+ return true;
|
||||
+#elif defined(__ARM_PCS) || defined(__SOFTFP__) || defined(__SOFTFP) || \
|
||||
+ !defined(__VFP_FP__)
|
||||
+ return false;
|
||||
+#else
|
||||
+#error "Your version of GCC does not report the FP ABI compiled for." \
|
||||
+ "Please report it on this issue" \
|
||||
+ "http://code.google.com/p/v8/issues/detail?id=2140"
|
||||
+
|
||||
+#endif
|
||||
+#endif
|
||||
+#undef GCC_VERSION
|
||||
+}
|
||||
+
|
||||
+#endif // def __arm__
|
||||
+
|
||||
|
||||
const char* OS::LocalTimezone(double time, TimezoneCache* cache) {
|
||||
if (std::isnan(time)) return "";
|
15
www/node/files/patch-deps_v8_src_libsampler_sampler.cc
Normal file
15
www/node/files/patch-deps_v8_src_libsampler_sampler.cc
Normal file
|
@ -0,0 +1,15 @@
|
|||
--- deps/v8/src/libsampler/sampler.cc.orig 2016-11-08 18:53:14 UTC
|
||||
+++ deps/v8/src/libsampler/sampler.cc
|
||||
@@ -499,9 +499,9 @@ void SignalHandler::FillRegisterState(vo
|
||||
state->sp = reinterpret_cast<void*>(mcontext.mc_rsp);
|
||||
state->fp = reinterpret_cast<void*>(mcontext.mc_rbp);
|
||||
#elif V8_HOST_ARCH_ARM
|
||||
- state->pc = reinterpret_cast<void*>(mcontext.mc_r15);
|
||||
- state->sp = reinterpret_cast<void*>(mcontext.mc_r13);
|
||||
- state->fp = reinterpret_cast<void*>(mcontext.mc_r11);
|
||||
+ state->pc = reinterpret_cast<void*>(mcontext.__gregs[_REG_PC]);
|
||||
+ state->sp = reinterpret_cast<void*>(mcontext.__gregs[_REG_SP]);
|
||||
+ state->fp = reinterpret_cast<void*>(mcontext.__gregs[_REG_FP]);
|
||||
#endif // V8_HOST_ARCH_*
|
||||
#elif V8_OS_NETBSD
|
||||
#if V8_HOST_ARCH_IA32
|
Loading…
Reference in a new issue