@@ -, +, @@ www/node: become a meta-port USES=node:run will make this port depend on and install the default version of Node.js. Set LICENSE=NONE since this is a meta-port. --- www/node/Makefile +++ www/node/Makefile @@ -1,98 +1,14 @@ # $FreeBSD$ PORTNAME= node -PORTVERSION= 6.9.1 -DISTVERSIONPREFIX= v +PORTVERSION= ${NODE_DEFAULT} CATEGORIES= www -MASTER_SITES= http://nodejs.org/dist/v${PORTVERSION}/ MAINTAINER= bradleythughes@fastmail.fm -COMMENT= V8 JavaScript for client and server (6.x) +COMMENT= Meta-port for node.js -LICENSE= MIT -LICENSE_FILE= ${WRKSRC}/LICENSE +LICENSE= NONE -OPTIONS_DEFINE= BUNDLED_SSL DOCS NLS -OPTIONS_SUB= yes +USES= metaport node:run -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= node4-4.* node012-0.12.* node010-0.10.* 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 - -.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 - -.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| +.include --- www/node/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1476953621 -SHA256 (node-v6.9.1.tar.gz) = a98997ca3a4d10751f0ebe97839b2308a31ae884b4203cda0c99cf36bc7fe3bf -SIZE (node-v6.9.1.tar.gz) = 26504341 --- www/node/files/patch-deps_v8_src_arm_cpu-arm.cc +++ /dev/null @@ -1,22 +0,0 @@ ---- deps/v8/src/arm/cpu-arm.cc.orig 2016-09-14 17:37:01 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; --- www/node/files/patch-deps_v8_src_base_atomicops__internals__arm__gcc.h +++ /dev/null @@ -1,35 +0,0 @@ ---- deps/v8/src/base/atomicops_internals_arm_gcc.h.orig 2016-09-14 17:37:01 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, --- www/node/files/patch-deps_v8_src_base_platform_platform-freebsd.cc +++ /dev/null @@ -1,51 +0,0 @@ ---- deps/v8/src/base/platform/platform-freebsd.cc.orig 2016-09-14 17:37:01 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 ""; --- www/node/files/patch-deps_v8_src_log-utils.h +++ /dev/null @@ -1,12 +0,0 @@ ---- deps/v8/src/log-utils.h.orig 2016-09-14 17:37:03 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" --- www/node/files/patch-deps_v8_src_profiler_sampler.cc +++ /dev/null @@ -1,15 +0,0 @@ ---- deps/v8/src/profiler/sampler.cc.orig 2016-09-14 17:37:03 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 --- www/node/files/patch-node.gyp +++ /dev/null @@ -1,11 +0,0 @@ ---- 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"', { --- www/node/pkg-descr +++ www/node/pkg-descr @@ -1,3 +1, @@ -node - evented I/O for V8 javascript - -WWW: http://nodejs.org/ +Meta-port for node.js --- www/node/pkg-plist +++ /dev/null @@ -1,114 +0,0 @@ -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