commit 0b6c0df49014b38fc48a439bbfac45f3ce2b60b3 Author: Bradley T. Hughes Date: Thu Oct 27 19:55:21 2016 +0000 www/node6: Copy from www/node Create a new port for the latest Node.js LTS release. Like www/node4, this allows users/ports to depend on a specific major version. The patch-node.gyp file has not been copied, as the problem this patch addresses has been fixed upstream. Patches have been refreshed with `make makepatch`. Update CONFLICTS_INSTALL for all www/node* ports. diff --git www/Makefile www/Makefile index ee42340..2aabe38 100644 --- www/Makefile +++ www/Makefile @@ -538,6 +538,7 @@ SUBDIR += node SUBDIR += node012 SUBDIR += node4 + SUBDIR += node6 SUBDIR += nostromo SUBDIR += npapi-vlc SUBDIR += npapi-xine diff --git www/node/Makefile www/node/Makefile index 25bcdfe..15727f0 100644 --- www/node/Makefile +++ www/node/Makefile @@ -26,7 +26,7 @@ USES= compiler:c++11-lib execinfo gmake python:2,build pkgconfig localbase HAS_CONFIGURE= yes USE_LDCONFIG= yes -CONFLICTS_INSTALL= node4-4.* node012-0.12.* node010-0.10.* node-devel-[0-9]* iojs-[0-9]* +CONFLICTS_INSTALL= node[456]-[0-9]* node01[02]-[0-9]* node-devel-[0-9]* iojs-[0-9]* ONLY_FOR_ARCHS= i386 amd64 armv6 CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} \ diff --git www/node012/Makefile www/node012/Makefile index 4cc69f5..872f7c8 100644 --- www/node012/Makefile +++ www/node012/Makefile @@ -21,7 +21,7 @@ USE_LDCONFIG= yes DEPRECATED= Upstream has placed 0.12.x in maintenance mode, see https://github.com/nodejs/LTS#lts_schedule EXPIRATION_DATE= 2016-12-31 -CONFLICTS_INSTALL= node-[0-9]* node-devel-[0-9]* node010-[0-9]* iojs-[0-9]* node4-[0-9]* node5-[0-9]* +CONFLICTS_INSTALL= node[456]-[0-9]* node010-[0-9]* node-[0-9]* node-devel-[0-9]* iojs-[0-9]* ONLY_FOR_ARCHS= i386 amd64 CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} --without-npm --shared-zlib diff --git www/node4/Makefile www/node4/Makefile index b637965..3e038e2 100644 --- www/node4/Makefile +++ www/node4/Makefile @@ -28,7 +28,7 @@ USES= compiler:c++11-lib execinfo gmake python:2 pkgconfig localbase HAS_CONFIGURE= yes USE_LDCONFIG= yes -CONFLICTS_INSTALL= node-[0-9]* node-devel-0.[0-9]* node010-[0-9]* node012-[0-9]* iojs-[0-9]* node5-[0-9]* +CONFLICTS_INSTALL= node[56]-[0-9]* node01[02]-[0-9]* node-[0-9]* node-devel-[0-9]* iojs-[0-9]* ONLY_FOR_ARCHS= i386 amd64 CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} \ diff --git www/node/Makefile www/node6/Makefile similarity index 94% copy from www/node/Makefile copy to www/node6/Makefile index 25bcdfe..885d072 100644 --- www/node/Makefile +++ www/node6/Makefile @@ -5,6 +5,7 @@ PORTVERSION= 6.9.1 DISTVERSIONPREFIX= v CATEGORIES= www MASTER_SITES= http://nodejs.org/dist/v${PORTVERSION}/ +PKGNAMESUFFIX= 6 MAINTAINER= bradleythughes@fastmail.fm COMMENT= V8 JavaScript for client and server (6.x) @@ -17,7 +18,7 @@ OPTIONS_SUB= yes BUNDLED_SSL_DESC= Use node.js's bundled OpenSSL implementation BUNDLED_SSL_USES_OFF= ssl -BUNDLED_SSL_CONFIGURE_OFF= --shared-openssl +BUNDLED_SSL_CONFIGURE_OFF+= --shared-openssl NLS_CONFIGURE_ON= --with-intl=system-icu NLS_LIB_DEPENDS= libicui18n.so:devel/icu @@ -26,7 +27,7 @@ USES= compiler:c++11-lib execinfo gmake python:2,build pkgconfig localbase HAS_CONFIGURE= yes USE_LDCONFIG= yes -CONFLICTS_INSTALL= node4-4.* node012-0.12.* node010-0.10.* node-devel-[0-9]* iojs-[0-9]* +CONFLICTS_INSTALL= node[45]-[0-9]* node01[02]-[0-9]* node-[0-9]* node-devel-[0-9]* iojs-[0-9]* ONLY_FOR_ARCHS= i386 amd64 armv6 CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} \ diff --git www/node6/distinfo www/node6/distinfo new file mode 100644 index 0000000..3a93c9c --- /dev/null +++ www/node6/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1476953621 +SHA256 (node-v6.9.1.tar.gz) = a98997ca3a4d10751f0ebe97839b2308a31ae884b4203cda0c99cf36bc7fe3bf +SIZE (node-v6.9.1.tar.gz) = 26504341 diff --git www/node6/files/patch-deps_v8_src_arm_cpu-arm.cc www/node6/files/patch-deps_v8_src_arm_cpu-arm.cc new file mode 100644 index 0000000..43810be --- /dev/null +++ www/node6/files/patch-deps_v8_src_arm_cpu-arm.cc @@ -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 // for cache flushing. + #undef MAP_TYPE ++#elif defined(__FreeBSD__) ++#include ++#include // for cache flushing. + #else + #include // 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(start); + register uint32_t end asm("r1") = beg + size; diff --git www/node6/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h www/node6/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h new file mode 100644 index 0000000..6581e9f --- /dev/null +++ www/node6/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h @@ -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 + #endif + ++#if defined(__FreeBSD__) ++#include ++#include ++#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, diff --git www/node6/files/patch-deps_v8_src_base_platform_platform-freebsd.cc www/node6/files/patch-deps_v8_src_base_platform_platform-freebsd.cc new file mode 100644 index 0000000..c4d641e --- /dev/null +++ www/node6/files/patch-deps_v8_src_base_platform_platform-freebsd.cc @@ -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 ""; diff --git www/node6/files/patch-deps_v8_src_log-utils.h www/node6/files/patch-deps_v8_src_log-utils.h new file mode 100644 index 0000000..cd3bb03 --- /dev/null +++ www/node6/files/patch-deps_v8_src_log-utils.h @@ -0,0 +1,12 @@ +--- deps/v8/src/log-utils.h.orig 2016-10-19 22:02:04 UTC ++++ deps/v8/src/log-utils.h +@@ -9,6 +9,9 @@ + + #include + ++#include ++#include ++ + #include "src/allocation.h" + #include "src/base/platform/mutex.h" + #include "src/flags.h" diff --git www/node6/files/patch-deps_v8_src_profiler_sampler.cc www/node6/files/patch-deps_v8_src_profiler_sampler.cc new file mode 100644 index 0000000..7c6fb3a --- /dev/null +++ www/node6/files/patch-deps_v8_src_profiler_sampler.cc @@ -0,0 +1,15 @@ +--- deps/v8/src/profiler/sampler.cc.orig 2016-10-19 22:02:04 UTC ++++ deps/v8/src/profiler/sampler.cc +@@ -534,9 +534,9 @@ void SignalHandler::HandleProfilerSignal + state.sp = reinterpret_cast
(mcontext.mc_rsp); + state.fp = reinterpret_cast
(mcontext.mc_rbp); + #elif V8_HOST_ARCH_ARM +- state.pc = reinterpret_cast
(mcontext.mc_r15); +- state.sp = reinterpret_cast
(mcontext.mc_r13); +- state.fp = reinterpret_cast
(mcontext.mc_r11); ++ state.pc = reinterpret_cast
(mcontext.__gregs[_REG_PC]); ++ state.sp = reinterpret_cast
(mcontext.__gregs[_REG_SP]); ++ state.fp = reinterpret_cast
(mcontext.__gregs[_REG_FP]); + #endif // V8_HOST_ARCH_* + #elif V8_OS_NETBSD + #if V8_HOST_ARCH_IA32 diff --git www/node6/pkg-descr www/node6/pkg-descr new file mode 100644 index 0000000..079aa9b --- /dev/null +++ www/node6/pkg-descr @@ -0,0 +1,3 @@ +node - evented I/O for V8 javascript + +WWW: http://nodejs.org/ diff --git www/node6/pkg-message www/node6/pkg-message new file mode 100644 index 0000000..87d7ce8 --- /dev/null +++ www/node6/pkg-message @@ -0,0 +1 @@ +Note: If you need npm (Node Package Manager), please install www/npm. diff --git www/node6/pkg-plist www/node6/pkg-plist new file mode 100644 index 0000000..5bd7816 --- /dev/null +++ www/node6/pkg-plist @@ -0,0 +1,114 @@ +bin/node +include/node/common.gypi +include/node/config.gypi +include/node/libplatform/libplatform.h +include/node/node.h +include/node/node_buffer.h +include/node/node_object_wrap.h +include/node/node_version.h +%%BUNDLED_SSL%%include/node/openssl/aes.h +%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/asn1.h +%%BUNDLED_SSL%%include/node/openssl/asn1_mac.h +%%BUNDLED_SSL%%include/node/openssl/asn1t.h +%%BUNDLED_SSL%%include/node/openssl/bio.h +%%BUNDLED_SSL%%include/node/openssl/blowfish.h +%%BUNDLED_SSL%%include/node/openssl/bn.h +%%BUNDLED_SSL%%include/node/openssl/buffer.h +%%BUNDLED_SSL%%include/node/openssl/camellia.h +%%BUNDLED_SSL%%include/node/openssl/cast.h +%%BUNDLED_SSL%%include/node/openssl/cmac.h +%%BUNDLED_SSL%%include/node/openssl/cms.h +%%BUNDLED_SSL%%include/node/openssl/comp.h +%%BUNDLED_SSL%%include/node/openssl/conf.h +%%BUNDLED_SSL%%include/node/openssl/conf_api.h +%%BUNDLED_SSL%%include/node/openssl/crypto.h +%%BUNDLED_SSL%%include/node/openssl/des.h +%%BUNDLED_SSL%%include/node/openssl/des_old.h +%%BUNDLED_SSL%%include/node/openssl/dh.h +%%BUNDLED_SSL%%include/node/openssl/dsa.h +%%BUNDLED_SSL%%include/node/openssl/dso.h +%%BUNDLED_SSL%%include/node/openssl/dtls1.h +%%BUNDLED_SSL%%include/node/openssl/e_os2.h +%%BUNDLED_SSL%%include/node/openssl/ebcdic.h +%%BUNDLED_SSL%%include/node/openssl/ec.h +%%BUNDLED_SSL%%include/node/openssl/ecdh.h +%%BUNDLED_SSL%%include/node/openssl/ecdsa.h +%%BUNDLED_SSL%%include/node/openssl/engine.h +%%BUNDLED_SSL%%include/node/openssl/err.h +%%BUNDLED_SSL%%include/node/openssl/evp.h +%%BUNDLED_SSL%%include/node/openssl/hmac.h +%%BUNDLED_SSL%%include/node/openssl/idea.h +%%BUNDLED_SSL%%include/node/openssl/krb5_asn.h +%%BUNDLED_SSL%%include/node/openssl/kssl.h +%%BUNDLED_SSL%%include/node/openssl/lhash.h +%%BUNDLED_SSL%%include/node/openssl/md4.h +%%BUNDLED_SSL%%include/node/openssl/md5.h +%%BUNDLED_SSL%%include/node/openssl/mdc2.h +%%BUNDLED_SSL%%include/node/openssl/modes.h +%%BUNDLED_SSL%%include/node/openssl/obj_mac.h +%%BUNDLED_SSL%%include/node/openssl/objects.h +%%BUNDLED_SSL%%include/node/openssl/ocsp.h +%%BUNDLED_SSL%%include/node/openssl/opensslconf.h +%%BUNDLED_SSL%%include/node/openssl/opensslv.h +%%BUNDLED_SSL%%include/node/openssl/ossl_typ.h +%%BUNDLED_SSL%%include/node/openssl/pem.h +%%BUNDLED_SSL%%include/node/openssl/pem2.h +%%BUNDLED_SSL%%include/node/openssl/pkcs12.h +%%BUNDLED_SSL%%include/node/openssl/pkcs7.h +%%BUNDLED_SSL%%include/node/openssl/pqueue.h +%%BUNDLED_SSL%%include/node/openssl/rand.h +%%BUNDLED_SSL%%include/node/openssl/rc2.h +%%BUNDLED_SSL%%include/node/openssl/rc4.h +%%BUNDLED_SSL%%include/node/openssl/ripemd.h +%%BUNDLED_SSL%%include/node/openssl/rsa.h +%%BUNDLED_SSL%%include/node/openssl/safestack.h +%%BUNDLED_SSL%%include/node/openssl/seed.h +%%BUNDLED_SSL%%include/node/openssl/sha.h +%%BUNDLED_SSL%%include/node/openssl/srp.h +%%BUNDLED_SSL%%include/node/openssl/srtp.h +%%BUNDLED_SSL%%include/node/openssl/ssl.h +%%BUNDLED_SSL%%include/node/openssl/ssl2.h +%%BUNDLED_SSL%%include/node/openssl/ssl23.h +%%BUNDLED_SSL%%include/node/openssl/ssl3.h +%%BUNDLED_SSL%%include/node/openssl/stack.h +%%BUNDLED_SSL%%include/node/openssl/symhacks.h +%%BUNDLED_SSL%%include/node/openssl/tls1.h +%%BUNDLED_SSL%%include/node/openssl/ts.h +%%BUNDLED_SSL%%include/node/openssl/txt_db.h +%%BUNDLED_SSL%%include/node/openssl/ui.h +%%BUNDLED_SSL%%include/node/openssl/ui_compat.h +%%BUNDLED_SSL%%include/node/openssl/whrlpool.h +%%BUNDLED_SSL%%include/node/openssl/x509.h +%%BUNDLED_SSL%%include/node/openssl/x509_vfy.h +%%BUNDLED_SSL%%include/node/openssl/x509v3.h +include/node/v8-debug.h +include/node/v8-experimental.h +include/node/v8-platform.h +include/node/v8-profiler.h +include/node/v8-testing.h +include/node/v8-util.h +include/node/v8-version.h +include/node/v8.h +include/node/v8config.h +@(,,444) man/man1/node.1.gz +%%PORTDOCS%%%%DOCSDIR%%/gdbinit +share/systemtap/tapset/node.stp