aboutsummaryrefslogtreecommitdiffstats
path: root/www/node6
diff options
context:
space:
mode:
authorpi <pi@FreeBSD.org>2016-11-19 20:21:22 +0800
committerpi <pi@FreeBSD.org>2016-11-19 20:21:22 +0800
commitd71b3e3fbfc79710b54129b0bbc4227b81eae33e (patch)
tree222c5847485ab46171fc62491e99e279f2284c96 /www/node6
parenta848112f045674a6c2313c880b3f1e1ede1711d4 (diff)
downloadfreebsd-ports-gnome-d71b3e3fbfc79710b54129b0bbc4227b81eae33e.tar.gz
freebsd-ports-gnome-d71b3e3fbfc79710b54129b0bbc4227b81eae33e.tar.zst
freebsd-ports-gnome-d71b3e3fbfc79710b54129b0bbc4227b81eae33e.zip
www/node: Copy to www/node6 as LTS version
PR: 213693 Submitted by: Bradley T. Hughes <bradleythughes@fastmail.fm> (maintainer)
Diffstat (limited to 'www/node6')
-rw-r--r--www/node6/Makefile99
-rw-r--r--www/node6/distinfo3
-rw-r--r--www/node6/files/patch-deps_v8_src_arm_cpu-arm.cc22
-rw-r--r--www/node6/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h35
-rw-r--r--www/node6/files/patch-deps_v8_src_base_platform_platform-freebsd.cc51
-rw-r--r--www/node6/files/patch-deps_v8_src_log-utils.h12
-rw-r--r--www/node6/files/patch-deps_v8_src_profiler_sampler.cc15
-rw-r--r--www/node6/files/patch-node.gyp11
-rw-r--r--www/node6/pkg-descr3
-rw-r--r--www/node6/pkg-message1
-rw-r--r--www/node6/pkg-plist114
11 files changed, 366 insertions, 0 deletions
diff --git a/www/node6/Makefile b/www/node6/Makefile
new file mode 100644
index 000000000000..885d07234f9f
--- /dev/null
+++ b/www/node6/Makefile
@@ -0,0 +1,99 @@
+# $FreeBSD$
+
+PORTNAME= node
+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)
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+OPTIONS_DEFINE= BUNDLED_SSL DOCS NLS
+OPTIONS_SUB= yes
+
+BUNDLED_SSL_DESC= Use node.js's bundled OpenSSL implementation
+BUNDLED_SSL_USES_OFF= ssl
+BUNDLED_SSL_CONFIGURE_OFF+= --shared-openssl
+
+NLS_CONFIGURE_ON= --with-intl=system-icu
+NLS_LIB_DEPENDS= libicui18n.so:devel/icu
+
+USES= compiler:c++11-lib execinfo gmake python:2,build pkgconfig localbase
+HAS_CONFIGURE= yes
+USE_LDCONFIG= yes
+
+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} \
+ --without-npm \
+ --shared-cares \
+ --shared-libuv \
+ --shared-zlib
+
+PREFIX_RELDEST= ${PREFIX:S,^${DESTDIR},,}
+REINPLACE_ARGS= -i ''
+MAKE_ENV+= CC.host=${CC} CXX.host=${CXX} LINK.host=${CXX} LINK.target=${CXX}
+
+LIB_DEPENDS+= libcares.so:dns/c-ares\
+ libuv.so:devel/libuv
+
+.include <bsd.port.options.mk>
+
+.if empty(PORT_OPTIONS:MBUNDLED_SSL)
+
+.if ${OSVERSION} < 1100085
+# node.js requires openssl 1.0.2, use the port since base isn't new enough
+WITH_OPENSSL_PORT= yes
+.endif
+
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if empty(PORT_OPTIONS:MBUNDLED_SSL)
+.if !empty(SSL_DEFAULT:Mlibressl*)
+IGNORE= cannot build node.js with LibreSSL. You must enable BUNDLED_SSL
+.endif
+.endif
+
+.if ${ARCH} == "armv6"
+CONFIGURE_ARGS= --openssl-no-asm
+.endif
+
+.if ${COMPILER_TYPE} == gcc
+# GCC does not expose std::snprintf() without this define
+CXXFLAGS+= -D_GLIBCXX_USE_C99
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \
+ ${WRKSRC}/deps/v8/tools/gyp/v8.gyp
+ # So many different ways to run python. Fix them all.
+ @${REINPLACE_CMD} -e 's|/usr/bin/env python|${PYTHON_CMD}|' \
+ ${WRKSRC}/configure
+ @${FIND} ${WRKSRC} -type f -name '*.gyp*' -print0 \
+ | ${XARGS} -0 ${REINPLACE_CMD} \
+ -e "s|'python'|'${PYTHON_CMD}'|" \
+ -e 's|<!(python |<!(${PYTHON_CMD} |' \
+ -e 's|\&\& python |\&\& ${PYTHON_CMD} |'
+
+post-configure:
+ # Post-process Makefile and *.mk files created by node-gyp and remove
+ # all occurrences of -I${LOCALBASE}/include. C*FLAGS include this
+ # before all -I../deps/* for bundled code. This can cause build
+ # breakages if the dependency is installed in ${LOCALBASE}. The
+ # USES+=localbase # above will ensure that we pick up includes for real
+ # external dependencies.
+ ${FIND} ${WRKSRC}/out -type f -print0 \
+ | ${XARGS} -0 ${REINPLACE_CMD} -e "s|-I${LOCALBASE}/include||g"
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/node
+
+.include <bsd.port.post.mk>
diff --git a/www/node6/distinfo b/www/node6/distinfo
new file mode 100644
index 000000000000..3a93c9ca04ae
--- /dev/null
+++ b/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 a/www/node6/files/patch-deps_v8_src_arm_cpu-arm.cc b/www/node6/files/patch-deps_v8_src_arm_cpu-arm.cc
new file mode 100644
index 000000000000..43810becdccd
--- /dev/null
+++ b/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 <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;
diff --git a/www/node6/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h b/www/node6/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h
new file mode 100644
index 000000000000..6581e9fe4f21
--- /dev/null
+++ b/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 <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,
diff --git a/www/node6/files/patch-deps_v8_src_base_platform_platform-freebsd.cc b/www/node6/files/patch-deps_v8_src_base_platform_platform-freebsd.cc
new file mode 100644
index 000000000000..c4d641e08256
--- /dev/null
+++ b/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 a/www/node6/files/patch-deps_v8_src_log-utils.h b/www/node6/files/patch-deps_v8_src_log-utils.h
new file mode 100644
index 000000000000..cd3bb039e772
--- /dev/null
+++ b/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 <cstdarg>
+
++#include <cstdio>
++#include <cstdarg>
++
+ #include "src/allocation.h"
+ #include "src/base/platform/mutex.h"
+ #include "src/flags.h"
diff --git a/www/node6/files/patch-deps_v8_src_profiler_sampler.cc b/www/node6/files/patch-deps_v8_src_profiler_sampler.cc
new file mode 100644
index 000000000000..7c6fb3a37f63
--- /dev/null
+++ b/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<Address>(mcontext.mc_rsp);
+ state.fp = reinterpret_cast<Address>(mcontext.mc_rbp);
+ #elif V8_HOST_ARCH_ARM
+- state.pc = reinterpret_cast<Address>(mcontext.mc_r15);
+- state.sp = reinterpret_cast<Address>(mcontext.mc_r13);
+- state.fp = reinterpret_cast<Address>(mcontext.mc_r11);
++ state.pc = reinterpret_cast<Address>(mcontext.__gregs[_REG_PC]);
++ state.sp = reinterpret_cast<Address>(mcontext.__gregs[_REG_SP]);
++ state.fp = reinterpret_cast<Address>(mcontext.__gregs[_REG_FP]);
+ #endif // V8_HOST_ARCH_*
+ #elif V8_OS_NETBSD
+ #if V8_HOST_ARCH_IA32
diff --git a/www/node6/files/patch-node.gyp b/www/node6/files/patch-node.gyp
new file mode 100644
index 000000000000..72f9f3340d01
--- /dev/null
+++ b/www/node6/files/patch-node.gyp
@@ -0,0 +1,11 @@
+--- node.gyp.orig 2016-10-12 21:30:37 UTC
++++ node.gyp
+@@ -477,6 +477,8 @@
+ }],
+ [ 'node_shared_zlib=="false"', {
+ 'dependencies': [ 'deps/zlib/zlib.gyp:zlib' ],
++ }, {
++ 'defines': [ 'ZLIB_CONST' ],
+ }],
+
+ [ 'node_shared_http_parser=="false"', {
diff --git a/www/node6/pkg-descr b/www/node6/pkg-descr
new file mode 100644
index 000000000000..079aa9b45c25
--- /dev/null
+++ b/www/node6/pkg-descr
@@ -0,0 +1,3 @@
+node - evented I/O for V8 javascript
+
+WWW: http://nodejs.org/
diff --git a/www/node6/pkg-message b/www/node6/pkg-message
new file mode 100644
index 000000000000..87d7ce8d688e
--- /dev/null
+++ b/www/node6/pkg-message
@@ -0,0 +1 @@
+Note: If you need npm (Node Package Manager), please install www/npm.
diff --git a/www/node6/pkg-plist b/www/node6/pkg-plist
new file mode 100644
index 000000000000..5bd78165306d
--- /dev/null
+++ b/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