<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/5ea23e31eee57e0fe1a8b481803e62de423bba1f">https://github.com/macports/macports-ports/commit/5ea23e31eee57e0fe1a8b481803e62de423bba1f</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 5ea23e31eee57e0fe1a8b481803e62de423bba1f
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Sat Feb 11 05:18:54 2017 -0600

<span style='display:block; white-space:pre;color:#404040;'>    nodejs4: Fix build with libc++
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    nodejs4 originally assumed all versions of macOS use tr1. This is not
</span><span style='display:block; white-space:pre;color:#404040;'>    true with libc++, which is the default on Mavericks and later.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    The original patch was conditionally applied on Mavericks and later. It
</span><span style='display:block; white-space:pre;color:#404040;'>    removed the use of tr1 in one place, but not in another place, so the
</span><span style='display:block; white-space:pre;color:#404040;'>    build failed on Mavericks and later, and presumably on earlier systems
</span><span style='display:block; white-space:pre;color:#404040;'>    configured to use libc++.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    nodejs6 contains preprocessor directives that avoids using tr1 on
</span><span style='display:block; white-space:pre;color:#404040;'>    Mavericks and later. This would presumably still fail on earlier systems
</span><span style='display:block; white-space:pre;color:#404040;'>    configured to use libc++.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This new patch avoids tr1 when libc++ is in use, regardless of macOS
</span><span style='display:block; white-space:pre;color:#404040;'>    version, and is unconditionally applied.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/53401
</span>---
 devel/nodejs4/Portfile                    |  8 ++------
 devel/nodejs4/files/patch-src-util.h.diff | 28 ++++++++++++++++++++--------
 2 files changed, 22 insertions(+), 14 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs4/Portfile b/devel/nodejs4/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2f2c7fd..5f1192b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup               compiler_blacklist_versions 1.0
</span> 
 name                    nodejs4
 version                 4.7.2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                1
</span> categories              devel net
 platforms               darwin
 license                 {MIT BSD}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,13 +45,9 @@ proc rec_glob {basedir pattern} {
</span> configure.python ${prefix}/bin/python2.7
 
 patchfiles              patch-common.gypi.diff \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                        patch-src-util.h.diff \
</span>                         patch-tools-gyp-pylib-gyp-generator-make.py.diff
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.major} > 12} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-append   patch-src-util.h.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> post-patch {
     foreach f [concat ${worksrcpath}/configure \
                    ${worksrcpath}/tools/gyp/gyp \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nodejs4/files/patch-src-util.h.diff b/devel/nodejs4/files/patch-src-util.h.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index f0f7d21..2615f3d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nodejs4/files/patch-src-util.h.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nodejs4/files/patch-src-util.h.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,14 +1,26 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/util.h.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/util.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -8,11 +8,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/util.h.orig        2017-01-05 15:05:24.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/util.h     2017-02-11 00:41:28.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8,7 +8,13 @@
</span>  #include <stddef.h>
  #include <stdlib.h>
  
 -#ifdef __APPLE__
<span style='display:block; white-space:pre;background:#ffe0e0;'>--#include <tr1/type_traits>  // NOLINT(build/c++tr1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// libc++ provides a C++11 <type_traits> header.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <ciso646>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__APPLE__) && !defined(_LIBCPP_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define USE_TR1_TYPE_TRAITS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef USE_TR1_TYPE_TRAITS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <tr1/type_traits>  // NOLINT(build/c++tr1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span>  #include <type_traits>  // std::remove_reference
<span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace node {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -27,7 +33,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ inline void* Malloc(size_t size);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ inline void* Calloc(size_t n, size_t size);
</span>  
<span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef USE_TR1_TYPE_TRAITS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template <typename T> using remove_reference = std::tr1::remove_reference<T>;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ template <typename T> using remove_reference = std::remove_reference<T>;
</span></pre><pre style='margin:0'>

</pre>