FreeBSD Bugzilla – Attachment 176335 Details for
Bug 213693
www/node: Copy to www/node6 (LTS version)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
node6-6.9.1
nodejs-copy-to-node6.diff (text/plain), 15.67 KB, created by
Bradley T. Hughes
on 2016-10-31 12:35:49 UTC
(
hide
)
Description:
node6-6.9.1
Filename:
MIME Type:
Creator:
Bradley T. Hughes
Created:
2016-10-31 12:35:49 UTC
Size:
15.67 KB
patch
obsolete
>commit 5264721ecfdccf6d0559fadb7f4d8b0a3e73f8a8 >Author: Bradley T. Hughes <bradleythughes@fastmail.fm> >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`. > >diff --git www/Makefile www/Makefile >index d2ab118..ff87ab8 100644 >--- www/Makefile >+++ www/Makefile >@@ -537,6 +537,7 @@ > SUBDIR += node > SUBDIR += node012 > SUBDIR += node4 >+ SUBDIR += node6 > SUBDIR += nostromo > SUBDIR += npapi-vlc > SUBDIR += npapi-xine >diff --git www/node6/Makefile www/node6/Makefile >new file mode 100644 >index 0000000..6e4ca2d >--- /dev/null >+++ 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= 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 <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 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 <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 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 <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 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 <cstdarg> >+ >++#include <cstdio> >++#include <cstdarg> >++ >+ #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<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 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
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
bhughes
:
maintainer-approval+
Actions:
View
|
Diff
Attachments on
bug 213693
:
176047
|
176335
|
176399
|
176876