<pre style='margin:0'>
Michael Dickens (michaelld) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/efca98b5abb4cfa94f16190183a792984c880e3b">https://github.com/macports/macports-ports/commit/efca98b5abb4cfa94f16190183a792984c880e3b</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new efca98b  gnuradio*: tweaks for installing on using *libstdc++ on older OS X
</span>efca98b is described below

<span style='display:block; white-space:pre;color:#808000;'>commit efca98b5abb4cfa94f16190183a792984c880e3b
</span>Author: Michael Dickens <michaelld@macports.org>
AuthorDate: Tue Jul 10 14:24:36 2018 -0400

<span style='display:block; white-space:pre;color:#404040;'>    gnuradio*: tweaks for installing on using *libstdc++ on older OS X
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Use "_GLIBCXX_USE_C99_MATH_TR1" to get math functions into std:: . This setting in turn requires "-std=gnu++11" to build properly, so have to turn on C++11 GNU extensions.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Don't use C++11 GNU extensions when using libc++, since GR builds fine without them and Clang doesn't really do anything when them anyway.
</span>---
 science/gnuradio/Portfile                          | 27 ++++++++++++++++
 .../gnuradio/files/patch-C_CXX_STANDARD.devel.diff | 29 ++++++++++-------
 .../gnuradio/files/patch-C_CXX_STANDARD.next.diff  | 29 ++++++++++-------
 .../files/patch-C_CXX_STANDARD.release.diff        | 37 +++++++++++++---------
 4 files changed, 85 insertions(+), 37 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gnuradio/Portfile b/science/gnuradio/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b9308ef..ed8ac4a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/gnuradio/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gnuradio/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -317,6 +317,33 @@ if {${configure.cxx_stdlib} eq "macports-libstdc++" ||
</span> 
     configure.cxxflags-append -std=gnu++11
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # when using GCC on older OSX, certain math functions will not be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # part of std:: without this macro defined. This macro required
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # c++11 to be enabled, which is addressed in the next item.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cxxflags-append -D_GLIBCXX_USE_C99_MATH_TR1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # enable C/CXX standard extensions (e.g., "gnu++11" and "gnu11"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # instead of than "c++11" and "c11"). GNU Radio itself does not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # require these extensions, but when compiling with GCC on older
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # OSX they allow for various various math functions to be in std::
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # ... so, enable them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DCMAKE_CXX_EXTENSIONS=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DCMAKE_C_EXTENSIONS=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # disable C/CXX standard extensions (e.g., "gnu++11" and "gnu11"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # rather than "c++11" and "c11"). GNU Radio itself does not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # require these extensions, and when compiling with Clang they
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # don't really do anything anyway; so, just disable them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DCMAKE_CXX_EXTENSIONS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DCMAKE_C_EXTENSIONS=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> }
 
 post-destroot {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gnuradio/files/patch-C_CXX_STANDARD.devel.diff b/science/gnuradio/files/patch-C_CXX_STANDARD.devel.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 6af5552..2637c56 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/gnuradio/files/patch-C_CXX_STANDARD.devel.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gnuradio/files/patch-C_CXX_STANDARD.devel.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,7 +20,7 @@
</span>  
  IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
      SET(CMAKE_CXX_STANDARD 98)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -141,19 +148,122 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -141,19 +148,129 @@
</span>  ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
      SET(CMAKE_CXX_STANDARD 98)
  ELSE()
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -65,8 +65,8 @@
</span> +        MESSAGE(WARNING "Requested C++ standard (${CMAKE_CXX_STANDARD_EXT}) is more recent than the minimum required C++ standard (${CMAKE_CXX_STANDARD}). GNU Radio might have issues building using this C++ standard; go with it and hope for the best!")
 +        SET(CMAKE_CXX_STANDARD ${CMAKE_CXX_STANDARD_EXT})
 +    ENDIF()
<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:#e0ffe0;'>++ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span> +########################################################################
 +# Configure C standard if not externally specified. Use the variable
 +# CMAKE_C_STANDARD since it will actually be used for this purposes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -76,8 +76,8 @@
</span> +# save current setting, if provided
 +IF(CMAKE_C_STANDARD)
 +    SET(CMAKE_C_STANDARD_EXT ${CMAKE_C_STANDARD})
<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:#e0ffe0;'>+ ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span> +# set GR preferred setting
  IF(CMAKE_C_COMPILER_ID STREQUAL "GNU")
 -    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -133,13 +133,20 @@
</span> +ENDIF()
 +
 +########################################################################
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+# disable C/CXX standard extensions (e.g., "gnu++11" and "gnu11"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# rather than "c++11" and "c11"). If cmake version is < 3.1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# explicitly set C/C++ standard to use; this CMake doesn't internally
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# use CMAKE_C*_STANDARD variables.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# If C/CXX EXTENSIONS are defined, don't change them. GNU Radio itself
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# does not require them. If not defined, then disable them as a safe
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# default.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IF(NOT CMAKE_C_EXTENSIONS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    SET(CMAKE_C_EXTENSIONS OFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IF(NOT CMAKE_CXX_EXTENSIONS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    SET(CMAKE_CXX_EXTENSIONS OFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENDIF()
</span> +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+SET(CMAKE_C_EXTENSIONS OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SET(CMAKE_CXX_EXTENSIONS OFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# If cmake version is < 3.1, explicitly set C/C++ standard to use;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# this CMake doesn't internally use CMAKE_C*_STANDARD variables.
</span> +
 +IF(${CMAKE_VERSION} VERSION_LESS "3.1")
 +    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c${CMAKE_C_STANDARD}")
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gnuradio/files/patch-C_CXX_STANDARD.next.diff b/science/gnuradio/files/patch-C_CXX_STANDARD.next.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 67463b4..e01c1de 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/gnuradio/files/patch-C_CXX_STANDARD.next.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gnuradio/files/patch-C_CXX_STANDARD.next.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -67,8 +67,8 @@
</span> +        MESSAGE(WARNING "Requested C++ standard (${CMAKE_CXX_STANDARD_EXT}) is more recent than the minimum required C++ standard (${CMAKE_CXX_STANDARD}). GNU Radio might have issues building using this C++ standard; go with it and hope for the best!")
 +        SET(CMAKE_CXX_STANDARD ${CMAKE_CXX_STANDARD_EXT})
 +    ENDIF()
<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:#e0ffe0;'>++ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span> +########################################################################
 +# Configure C standard if not externally specified. Use the variable
 +# CMAKE_C_STANDARD since it will actually be used for this purposes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -78,13 +78,13 @@
</span> +# save current setting, if provided
 +IF(CMAKE_C_STANDARD)
 +    SET(CMAKE_C_STANDARD_EXT ${CMAKE_C_STANDARD})
<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:#e0ffe0;'>+ ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span> +# set GR preferred setting
  IF(CMAKE_C_COMPILER_ID STREQUAL "GNU")
      SET(CMAKE_C_STANDARD 11)
  ELSEIF(CMAKE_C_COMPILER_ID MATCHES "Clang")
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -155,10 +210,57 @@ ELSEIF(CMAKE_C_COMPILER_ID MATCHES "Clang")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -155,10 +210,64 @@
</span>  ELSEIF(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
      SET(CMAKE_C_STANDARD 11)
  ELSE()
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -133,13 +133,20 @@
</span> +ENDIF()
 +
 +########################################################################
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+# disable C/CXX standard extensions (e.g., "gnu++11" and "gnu11"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# rather than "c++11" and "c11"). If cmake version is < 3.1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# explicitly set C/C++ standard to use; this CMake doesn't internally
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# use CMAKE_C*_STANDARD variables.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# If C/CXX EXTENSIONS are defined, don't change them. GNU Radio itself
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# does not require them. If not defined, then disable them as a safe
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# default.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IF(NOT CMAKE_C_EXTENSIONS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    SET(CMAKE_C_EXTENSIONS OFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IF(NOT CMAKE_CXX_EXTENSIONS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    SET(CMAKE_CXX_EXTENSIONS OFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENDIF()
</span> +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+SET(CMAKE_C_EXTENSIONS OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SET(CMAKE_CXX_EXTENSIONS OFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# If cmake version is < 3.1, explicitly set C/C++ standard to use;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# this CMake doesn't internally use CMAKE_C*_STANDARD variables.
</span> +
  IF(${CMAKE_VERSION} VERSION_LESS "3.1")
      SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c${CMAKE_C_STANDARD}")
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gnuradio/files/patch-C_CXX_STANDARD.release.diff b/science/gnuradio/files/patch-C_CXX_STANDARD.release.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index dabe2f9..611bd04 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/gnuradio/files/patch-C_CXX_STANDARD.release.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gnuradio/files/patch-C_CXX_STANDARD.release.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,14 +20,14 @@
</span>  
  IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
      SET(CMAKE_CXX_STANDARD 98)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -142,19 +149,122 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -142,19 +149,129 @@
</span>  ELSEIF(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
      SET(CMAKE_CXX_STANDARD 98)
  ELSE()
 -    message(warning "C++ standard could not be set because compiler is not GNU, Clang or MSVC.")
 +    MESSAGE(WARNING "C++ standard could not be set because compiler is not GNU, Clang, or MSVC.")
<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:#e0ffe0;'>++ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span> +# if the CXX standard was provided externally, make sure it meets GR's minimum
 +IF(CMAKE_CXX_STANDARD_EXT)
 +    # verify that the provided C++ standard is one CMake
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -76,8 +76,8 @@
</span> +# save current setting, if provided
 +IF(CMAKE_C_STANDARD)
 +    SET(CMAKE_C_STANDARD_EXT ${CMAKE_C_STANDARD})
<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:#e0ffe0;'>+ ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span> +# set GR preferred setting
  IF(CMAKE_C_COMPILER_ID STREQUAL "GNU")
 -    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -91,8 +91,8 @@
</span>  ELSE()
 -    message(warning "C standard could not be set because compiler is not GNU, Clang or MSVC.")
 +    MESSAGE(WARNING "C standard could not be set because compiler is not GNU, Clang, or MSVC.")
<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:#e0ffe0;'>+ ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span> +# if the C standard was provided externally, make sure it meets GR's minimum
 +IF(CMAKE_C_STANDARD_EXT)
 +    # verify that the provided C standard is one CMake
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -130,16 +130,23 @@
</span> +        MESSAGE(WARNING "Requested C standard (${CMAKE_C_STANDARD_EXT}) is more recent than the minimum required C standard (${CMAKE_C_STANDARD}). GNU Radio might have issues building using this C standard; go with it and hope for the best!")
 +        SET(CMAKE_C_STANDARD ${CMAKE_C_STANDARD_EXT})
 +    ENDIF()
<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:#e0ffe0;'>++ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span> +########################################################################
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+# disable C/CXX standard extensions (e.g., "gnu++11" and "gnu11"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# rather than "c++11" and "c11"). If cmake version is < 3.1,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# explicitly set C/C++ standard to use; this CMake doesn't internally
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# use CMAKE_C*_STANDARD variables.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# If C/CXX EXTENSIONS are defined, don't change them. GNU Radio itself
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# does not require them. If not defined, then disable them as a safe
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# default.
</span> +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+SET(CMAKE_C_EXTENSIONS OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+SET(CMAKE_CXX_EXTENSIONS OFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IF(NOT CMAKE_C_EXTENSIONS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    SET(CMAKE_C_EXTENSIONS OFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IF(NOT CMAKE_CXX_EXTENSIONS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    SET(CMAKE_CXX_EXTENSIONS OFF)
</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;'>++########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# If cmake version is < 3.1, explicitly set C/C++ standard to use;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# this CMake doesn't internally use CMAKE_C*_STANDARD variables.
</span> +
 +IF(${CMAKE_VERSION} VERSION_LESS "3.1")
 +    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c${CMAKE_C_STANDARD}")
</pre><pre style='margin:0'>

</pre>