Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Jan 2017 19:34:16 +0000 (UTC)
From:      Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r430663 - in head/www/node: . files
Message-ID:  <201701051934.v05JYGdi052780@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sunpoet
Date: Thu Jan  5 19:34:16 2017
New Revision: 430663
URL: https://svnweb.freebsd.org/changeset/ports/430663

Log:
  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]

Added:
  head/www/node/files/
  head/www/node/files/patch-deps_v8_src_arm_cpu-arm.cc   (contents, props changed)
  head/www/node/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h   (contents, props changed)
  head/www/node/files/patch-deps_v8_src_base_platform_platform-freebsd.cc   (contents, props changed)
  head/www/node/files/patch-deps_v8_src_libsampler_sampler.cc   (contents, props changed)
Modified:
  head/www/node/Makefile
  head/www/node/distinfo

Modified: head/www/node/Makefile
==============================================================================
--- head/www/node/Makefile	Thu Jan  5 19:34:11 2017	(r430662)
+++ head/www/node/Makefile	Thu Jan  5 19:34:16 2017	(r430663)
@@ -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 Libre
 .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:

Modified: head/www/node/distinfo
==============================================================================
--- head/www/node/distinfo	Thu Jan  5 19:34:11 2017	(r430662)
+++ head/www/node/distinfo	Thu Jan  5 19:34:16 2017	(r430663)
@@ -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

Added: head/www/node/files/patch-deps_v8_src_arm_cpu-arm.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/node/files/patch-deps_v8_src_arm_cpu-arm.cc	Thu Jan  5 19:34:16 2017	(r430663)
@@ -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;

Added: head/www/node/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/node/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h	Thu Jan  5 19:34:16 2017	(r430663)
@@ -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,

Added: head/www/node/files/patch-deps_v8_src_base_platform_platform-freebsd.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/node/files/patch-deps_v8_src_base_platform_platform-freebsd.cc	Thu Jan  5 19:34:16 2017	(r430663)
@@ -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 "";

Added: head/www/node/files/patch-deps_v8_src_libsampler_sampler.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/node/files/patch-deps_v8_src_libsampler_sampler.cc	Thu Jan  5 19:34:16 2017	(r430663)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201701051934.v05JYGdi052780>