<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/189b2e6be9ea493b047f5614092dcbdc0332d9d2">https://github.com/macports/macports-ports/commit/189b2e6be9ea493b047f5614092dcbdc0332d9d2</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 189b2e6  gnuradio-devel: update to, and cap at, the final 3.7 commit: 896d1c9d (20180824)
</span>189b2e6 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 189b2e6be9ea493b047f5614092dcbdc0332d9d2
</span>Author: Michael Dickens <michaelld@macports.org>
AuthorDate: Wed Nov 14 14:12:24 2018 -0800

<span style='display:block; white-space:pre;color:#404040;'>    gnuradio-devel: update to, and cap at, the final 3.7 commit: 896d1c9d (20180824)
</span>---
 science/gnuradio/Portfile                          |  45 ++-
 science/gnuradio/files/patch-fix-GNUCXX.devel.diff |  27 ++
 science/gnuradio/files/patch-fix-mp.devel.diff     |  42 +++
 .../files/patch-fix_ctrlport_test.devel.diff       | 369 ++++++++++++++++++---
 ...time_lib_buffer.cc.boost_include_fix.devel.diff |  20 ++
 5 files changed, 449 insertions(+), 54 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 b669f7f..cd14ac1 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;'>@@ -50,23 +50,25 @@ if {${subport} eq ${name}} {
</span> subport gnuradio-devel {
 
     long_description    ${description}: \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        This port is kept up with the GNU Radio GIT 'master' branch, which is typically updated daily to weekly.  This version of GNU Radio generally contains fixes to, and its API is compatible with, the current GNU Radio release, and will be incorporated in an upcoming release.  This port may or not compile or function correctly, as it represents a work in progress.  If it does not work, check back in a few days.  Or try deactivating the currently active gnuradio port, cleaning any cur [...]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        This port is kept at the GNU Radio GIT 'master' branch commit 896d1c9d, which is the final commit in the 3.7 series. This port will not be updated except for critical fixes backported from more recent commits.
</span> 
     name                gnuradio-devel
     conflicts           gnuradio gnuradio-next
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    github.setup        gnuradio gnuradio 219eae9a9c2ef7644450e71d19f8f54c12e1f9cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    version             20180726
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision            2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        rmd160 0a2954e440bdac4affa98acc27d46d7c9cf8265a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        sha256 7cacc6e4a0ba83afbe5ddcea74449d4d3e7a44253f834b41892528b7e15863b2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        size   4422399
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    github.setup        gnuradio gnuradio 896d1c9da31963ecf5b0d90942c2af51ca998a69
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version             20180824
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums    rmd160 8ad7fccef7e21ea96356253432f5f13ad61660ed \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 sha256 51080fad6f776f8aec1a6c557320c6c64b4c3c3fde3615ca4d43802de65f324f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 size   4425148
</span> 
     # set the version override string
 
     set GR_VERSION_INFO "devel-git-[string range ${github.version} 0 7](${version})"
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # disable livecheck; there is no more devel until after 3.8 release!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type   none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> }
 
 subport gnuradio-next {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -131,6 +133,22 @@ if {${subport} eq "gnuradio"} {
</span>     patchfiles-append \
         patch-C_CXX_STANDARD.devel.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # temporary patch to fix use of GNUCXX to instead be for both GNU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # and Clang compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patch-fix-GNUCXX.devel.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # temporary patch to fix Boost #include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patch-gnuradio-runtime_lib_buffer.cc.boost_include_fix.devel.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # temporary patch to fix type usage of MP package
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patch-fix-mp.devel.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> } else {
 
     # patches for next
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -229,7 +247,16 @@ if {${subport} eq "gnuradio"} {
</span> } elseif {${subport} eq "gnuradio-devel"} {
 
     # devel
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # nothing new at this time
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Require MPIR (or devel); don't use GMP for now
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append path:lib/libmpir.dylib:mpir
</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;'>+        -DGMP_INCLUDE_DIR= \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DGMP_LIBRARY= \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DGMPXX_LIBRARY= \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DMPIR_INCLUDE_DIR=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DMPIR_LIBRARY=${prefix}/lib/libmpir.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DMPIRXX_LIBRARY=/opt/local/lib/libmpirxx.dylib
</span> 
 } else {
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gnuradio/files/patch-fix-GNUCXX.devel.diff b/science/gnuradio/files/patch-fix-GNUCXX.devel.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..d74d87f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gnuradio/files/patch-fix-GNUCXX.devel.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,27 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- CMakeLists.txt.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -302,16 +302,17 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include(GrMiscUtils) #compiler flag check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(CMAKE_COMPILER_IS_GNUCXX AND NOT WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    #http://gcc.gnu.org/wiki/Visibility
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE(-fvisibility=hidden HAVE_VISIBILITY_HIDDEN)
</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;'>+-if(CMAKE_COMPILER_IS_GNUCXX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(NOT WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        #http://gcc.gnu.org/wiki/Visibility
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE(-fvisibility=hidden HAVE_VISIBILITY_HIDDEN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    endif(NOT WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE(-Wsign-compare HAVE_WARN_SIGN_COMPARE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE(-Wall HAVE_WARN_ALL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE(-Wno-uninitialized HAVE_WARN_NO_UNINITIALIZED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-endif(CMAKE_COMPILER_IS_GNUCXX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(MSVC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     include_directories(${CMAKE_SOURCE_DIR}/cmake/msvc) #missing headers
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gnuradio/files/patch-fix-mp.devel.diff b/science/gnuradio/files/patch-fix-mp.devel.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..7f564ef
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gnuradio/files/patch-fix-mp.devel.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,42 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gnuradio-runtime/lib/block.cc.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gnuradio-runtime/lib/block.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -194,13 +194,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   block::set_relative_rate(uint64_t interpolation, uint64_t decimation)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mpz_class interp, decim;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (interpolation < 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       throw std::invalid_argument("block::set_relative_rate: interpolation rate cannot be 0");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (decimation < 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       throw std::invalid_argument("block::set_relative_rate: decimation rate cannot be 0");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    d_mp_relative_rate = mpq_class(interpolation, decimation);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mpz_import(interp.get_mpz_t(), 1, 1, sizeof(interpolation), 0, 0, &interpolation);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mpz_import(decim.get_mpz_t(), 1, 1, sizeof(decimation), 0, 0, &decimation);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    d_mp_relative_rate = mpq_class (interp, decim);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     d_mp_relative_rate.canonicalize();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     d_relative_rate = d_mp_relative_rate.get_d();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gnuradio-runtime/lib/block_executor.cc.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gnuradio-runtime/lib/block_executor.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -146,7 +146,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           mpz_class offset;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           for(t = rtags.begin(); t != rtags.end(); t++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             tag_t new_tag = *t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            offset = new_tag.offset * mp_rrate + one_half;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            mpz_import(offset.get_mpz_t(), 1, 1, sizeof(new_tag.offset), 0, 0, &new_tag.offset);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            offset *= mp_rrate + one_half;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             new_tag.offset = offset.get_ui();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             for(int o = 0; o < d->noutputs(); o++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               out_buf[o]->add_item_tag(new_tag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -188,7 +189,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             mpz_class offset;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             for(t = rtags.begin(); t != rtags.end(); t++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               tag_t new_tag = *t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-              offset = new_tag.offset * mp_rrate + one_half;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              mpz_import(offset.get_mpz_t(), 1, 1, sizeof(new_tag.offset), 0, 0, &new_tag.offset);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              offset *= mp_rrate + one_half;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               new_tag.offset = offset.get_ui();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               out_buf->add_item_tag(new_tag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             }
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gnuradio/files/patch-fix_ctrlport_test.devel.diff b/science/gnuradio/files/patch-fix_ctrlport_test.devel.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index ef6a6dc..8ac728e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/gnuradio/files/patch-fix_ctrlport_test.devel.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gnuradio/files/patch-fix_ctrlport_test.devel.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,23 +1,104 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- CMakeLists.txt.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Copyright 2010-2017 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Copyright 2010-2018 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This file is part of GNU Radio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -542,20 +542,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ add_subdirectory(gr-wxgui)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ add_subdirectory(gr-zeromq)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Defining GR_CTRLPORT for gnuradio/config.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(ENABLE_GR_CTRLPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  set(GR_CTRLPORT True)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  add_definitions(-DGR_CTRLPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if(CTRLPORT_BACKENDS GREATER 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    set(GR_RPCSERVER_ENABLED True)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if(THRIFT_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      set(GR_RPCSERVER_THRIFT True)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    endif(THRIFT_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  endif(CTRLPORT_BACKENDS GREATER 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-endif(ENABLE_GR_CTRLPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Install our Cmake modules into $prefix/lib/cmake/gnuradio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # See "Package Configuration Files" on page:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #    http://www.cmake.org/Wiki/CMake/Tutorials/Packaging
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gnuradio-runtime/CMakeLists.txt.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gnuradio-runtime/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Copyright 2013 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Copyright 2013-2018 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This file is part of GNU Radio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -60,19 +60,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GR_SET_GLOBAL(GNURADIO_RUNTIME_PYTHONPATH ${GNURADIO_RUNTIME_PYTHONPATH})
</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;'>+-# Register controlport component
</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;'>+-FIND_PACKAGE(SWIG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-GR_REGISTER_COMPONENT("gr-ctrlport" ENABLE_GR_CTRLPORT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  Boost_FOUND
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  SWIG_FOUND
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  SWIG_VERSION_CHECK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ENABLE_GNURADIO_RUNTIME
</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;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Begin conditional configuration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -116,6 +103,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     DESCRIPTION  "SWIG development .i files"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     DEPENDS      "runtime_swig;runtime_python;runtime_devel"
</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;'>+ configure_file(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ${CMAKE_CURRENT_SOURCE_DIR}/gnuradio-runtime.conf.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-runtime.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -146,8 +134,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ add_subdirectory(lib)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ add_subdirectory(apps)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(ENABLE_PYTHON)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     add_subdirectory(swig)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     add_subdirectory(python)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    add_subdirectory(swig)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    add_subdirectory(python)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     add_subdirectory(examples)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif(ENABLE_PYTHON)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span> --- gnuradio-runtime/lib/CMakeLists.txt.orig
 +++ gnuradio-runtime/lib/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -44,21 +44,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- list(APPEND gnuradio_runtime_sources ${CMAKE_CURRENT_BINARY_DIR}/constants.cc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Copyright 2013 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Copyright 2013-2018 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This file is part of GNU Radio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -46,20 +46,15 @@
</span>  ########################################################################
<span style='display:block; white-space:pre;background:#ffe0e0;'>--# Setup the include and linker paths
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Setup globally used include paths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Setup the include and linker paths
</span>  ########################################################################
 -include_directories(${GNURADIO_RUNTIME_INCLUDE_DIRS}
 -                    ${CMAKE_CURRENT_SOURCE_DIR}
 -                  ${CMAKE_CURRENT_BINARY_DIR}/../include/
 -                  ${VOLK_INCLUDE_DIRS}
 -                    ${Boost_INCLUDE_DIRS}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    ${MPLIB_INCLUDE_DIRS}
</span> +include_directories(
 +    ${GNURADIO_RUNTIME_INCLUDE_DIRS}
 +    ${CMAKE_CURRENT_SOURCE_DIR}
 +    ${CMAKE_CURRENT_BINARY_DIR}/../include/
 +    ${VOLK_INCLUDE_DIRS}
 +    ${Boost_INCLUDE_DIRS}
<span style='display:block; white-space:pre;background:#e0ffe0;'>++    ${MPLIB_INCLUDE_DIRS}
</span>  )
  
 -if(ENABLE_CTRLPORT_THRIFT)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,86 +110,284 @@
</span>  ########################################################################
  # Include subdirs rather to populate to the sources lists.
  ########################################################################
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -68,6 +63,13 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GR_INCLUDE_SUBDIRECTORY(math)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- GR_INCLUDE_SUBDIRECTORY(controlport)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -122,7 +117,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   vmcircbuf_mmap_tmpfile.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   vmcircbuf_prefs.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   vmcircbuf_sysv_shm.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${gnuradio_ctrlport_sources}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span>  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Setup CTRLPORT include path, if using
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(ENABLE_CTRLPORT_THRIFT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    include_directories(${THRIFT_INCLUDE_DIRS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif(ENABLE_CTRLPORT_THRIFT)
</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;'>- # Setup library
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # PowerPC workaround for posix_memalign
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -211,25 +205,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # STATIC LIB BUILD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #######################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(ENABLE_STATIC_LIBS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  # Remove controlport-specific source files from staticlibs build if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  # ICE is the backend since it does not build statically.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if(ENABLE_GR_CTRLPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if(ICE_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      list(REMOVE_ITEM gnuradio_runtime_sources
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        ${gnuradio_ctrlport_sources}
</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;'>+-      # Remove GR_CTRLPORT set this target's definitions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      # Makes sure we don't try to use ControlPort stuff in source files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      GET_DIRECTORY_PROPERTY(STATIC_DEFS COMPILE_DEFINITIONS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      list(REMOVE_ITEM STATIC_DEFS "GR_CTRLPORT")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      SET_PROPERTY(DIRECTORY PROPERTY COMPILE_DEFINITIONS "${STATIC_DEFS}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      # readd it to the target since we removed it from the directory-wide list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      SET_PROPERTY(TARGET gnuradio-runtime APPEND PROPERTY COMPILE_DEFINITIONS "GR_CTRLPORT")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    endif(ICE_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  endif(ENABLE_GR_CTRLPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   add_library(gnuradio-runtime_static STATIC ${gnuradio_runtime_sources})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if(NOT WIN32)
</span> --- gnuradio-runtime/lib/controlport/CMakeLists.txt.orig
 +++ gnuradio-runtime/lib/controlport/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17,15 +17,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Copyright 2013 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Copyright 2013-2018 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This file is part of GNU Radio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17,89 +17,156 @@
</span>  # the Free Software Foundation, Inc., 51 Franklin Street,
  # Boston, MA 02110-1301, USA.
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>--if(ENABLE_GR_CTRLPORT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Keep track of the number of backends ControlPort supports
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- SET(CTRLPORT_BACKENDS 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(ENABLE_GR_CTRLPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# NOTE: this directory was added via "GR_INCLUDE_SUBDIRECTORY", not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# "add_subdirectory", and hence anything performed here is as if it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# were executed in the calling directory.
</span> +
<span style='display:block; white-space:pre;background:#e0ffe0;'>++########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Register controlport component
</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;'>++FIND_PACKAGE(SWIG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++GR_REGISTER_COMPONENT("gr-ctrlport" ENABLE_GR_CTRLPORT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    Boost_FOUND
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    SWIG_FOUND
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    SWIG_VERSION_CHECK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ENABLE_GNURADIO_RUNTIME
</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;'>++########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Handle controlport component options
</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(ENABLE_GR_CTRLPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Keep track of the number of backends ControlPort supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-SET(CTRLPORT_BACKENDS 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# handle non-backend specifics
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span>  # Add definition so we can compile in ControlPort to the blocks.
  add_definitions(-DGR_CTRLPORT)
  
 -include_directories(${CMAKE_CURRENT_SOURCE_DIR})
 +include_directories(
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+  ${CMAKE_CURRENT_SOURCE_DIR}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  ${CMAKE_CURRENT_BINARY_DIR}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ${CMAKE_CURRENT_SOURCE_DIR}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ${CMAKE_CURRENT_BINARY_DIR}
</span> +)
  
  list(APPEND gnuradio_ctrlport_sources
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   ${CMAKE_CURRENT_SOURCE_DIR}/rpcmanager.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -34,7 +37,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_selector.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${CMAKE_CURRENT_SOURCE_DIR}/rpcmanager.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_aggregator.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_booter_aggregator.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_selector.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ${CMAKE_CURRENT_SOURCE_DIR}/rpcmanager.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_aggregator.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_booter_aggregator.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_selector.cc
</span>  )
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Keep track of the number of backends ControlPort supports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++SET(CTRLPORT_BACKENDS 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# add CTRLPORT backend option Thrift
</span>  OPTION(ENABLE_CTRLPORT_THRIFT "Enable ControlPort Thrift support" ON)
  
  if(ENABLE_CTRLPORT_THRIFT)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -89,17 +91,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Look if Thrift is installed and use it as a ControlPort backend.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# is Thrift installed?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ FIND_PACKAGE(Thrift)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(THRIFT_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-include_directories(${THRIFT_INCLUDE_DIRS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-MATH(EXPR CTRLPORT_BACKENDS "${CTRLPORT_BACKENDS} + 1")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Indicate thrift as an installed backend in the cmake summary.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-message(STATUS "Found and enabling Thrift backend to ControlPort")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-GR_APPEND_SUBCOMPONENT("thrift")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Run Thrift To compile C++ and Python files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-message(STATUS "Running thrift to build C++ bindings")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/thrift/)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-list(APPEND gnuradio_thrift_generated_sources
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${CMAKE_CURRENT_BINARY_DIR}/thrift/gnuradio_types.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${CMAKE_CURRENT_BINARY_DIR}/thrift/gnuradio_constants.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${CMAKE_CURRENT_BINARY_DIR}/thrift/ControlPort.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-add_custom_command(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  DEPENDS ${CMAKE_SOURCE_DIR}/gnuradio-runtime/lib/controlport/thrift/gnuradio.thrift
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  OUTPUT ${gnuradio_thrift_generated_sources}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  COMMAND ${THRIFT_BIN} --gen cpp -out ${CMAKE_CURRENT_BINARY_DIR}/thrift/ ${CMAKE_CURRENT_SOURCE_DIR}/thrift/gnuradio.thrift
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-list(APPEND gnuradio_ctrlport_sources
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${CMAKE_CURRENT_SOURCE_DIR}/thrift/rpcserver_thrift.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${CMAKE_CURRENT_SOURCE_DIR}/thrift/rpcpmtconverters_thrift.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${CMAKE_CURRENT_SOURCE_DIR}/thrift/rpcserver_booter_thrift.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${CMAKE_CURRENT_SOURCE_DIR}/thrift/thrift_application_base.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  # add files built by compiling gnuradio.thrift
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${gnuradio_thrift_generated_sources}
</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;'>+-# Add  required libraries here
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-list(APPEND gnuradio_runtime_libs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${THRIFT_LIBRARIES}
</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;'>+-# Add install rule to move example Thrift configuration file into
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# $prefix/etc/gnuradio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-install(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  FILES ${CMAKE_CURRENT_SOURCE_DIR}/thrift/thrift.conf.example
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  DESTINATION ${SYSCONFDIR}/${CMAKE_PROJECT_NAME}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  COMPONENT "runtime_runtime"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # yes: thrift is installed; use it as a backend
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    MATH(EXPR CTRLPORT_BACKENDS "${CTRLPORT_BACKENDS} + 1")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # Indicate thrift as an installed backend in the cmake summary.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    message(STATUS "Found and enabling Thrift backend to ControlPort")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # Run Thrift To compile C++ and Python files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    message(STATUS "Running thrift to build C++ bindings")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/thrift/)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    list(APPEND gnuradio_thrift_generated_sources
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ${CMAKE_CURRENT_BINARY_DIR}/thrift/gnuradio_types.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ${CMAKE_CURRENT_BINARY_DIR}/thrift/gnuradio_constants.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ${CMAKE_CURRENT_BINARY_DIR}/thrift/ControlPort.cpp
</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;'>++    add_custom_command(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        DEPENDS ${CMAKE_SOURCE_DIR}/gnuradio-runtime/lib/controlport/thrift/gnuradio.thrift
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        OUTPUT ${gnuradio_thrift_generated_sources}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        COMMAND ${THRIFT_BIN} --gen cpp -out ${CMAKE_CURRENT_BINARY_DIR}/thrift/ ${CMAKE_CURRENT_SOURCE_DIR}/thrift/gnuradio.thrift
</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;'>++    list(APPEND gnuradio_ctrlport_sources
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ${CMAKE_CURRENT_SOURCE_DIR}/thrift/rpcserver_thrift.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ${CMAKE_CURRENT_SOURCE_DIR}/thrift/rpcpmtconverters_thrift.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ${CMAKE_CURRENT_SOURCE_DIR}/thrift/rpcserver_booter_thrift.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ${CMAKE_CURRENT_SOURCE_DIR}/thrift/thrift_application_base.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # add files built by compiling gnuradio.thrift
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ${gnuradio_thrift_generated_sources}
</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;'>++    # Add required Thrift libraries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    list(APPEND gnuradio_runtime_libs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ${THRIFT_LIBRARIES}
</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;'>++    # Add required Thrift include paths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    include_directories(${THRIFT_INCLUDE_DIRS}/thrift)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # Add install rule to move example Thrift configuration file into
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # $prefix/etc/gnuradio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    install(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        FILES ${CMAKE_CURRENT_SOURCE_DIR}/thrift/thrift.conf.example
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        DESTINATION ${SYSCONFDIR}/${CMAKE_PROJECT_NAME}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        COMPONENT "runtime_runtime"
</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;'>++else(THRIFT_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # no: thrift was not found
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # disable using Thrift for ctrlport locally
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    set(ENABLE_CTRLPORT_THRIFT NO)
</span>  
  endif(THRIFT_FOUND)
  endif(ENABLE_CTRLPORT_THRIFT)
<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:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# add other backends here
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif(ENABLE_GR_CTRLPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span> -# Add controlport stuff to gnuradio-runtime
<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:#e0ffe0;'>++# Handle controlport component post-options
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span> -include_directories(${CMAKE_CURRENT_BINARY_DIR})
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif(ENABLE_GR_CTRLPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# handle subcomponent printout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if(ENABLE_CTRLPORT_THRIFT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    GR_APPEND_SUBCOMPONENT("thrift")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif(ENABLE_CTRLPORT_THRIFT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# did we find a ctrlport backend?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if(CTRLPORT_BACKENDS GREATER 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    set(HAVE_CTRLPORT_BACKEND TRUE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else(CTRLPORT_BACKENDS GREATER 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    set(HAVE_CTRLPORT_BACKEND FALSE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif(CTRLPORT_BACKENDS GREATER 0)
</span>  
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # Save the number of backends for testing against later
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Save the number of backends for testing against later
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Save variables to a global scope for testing against later, and for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# defines for gnuradio/config.h and other C++ code
</span>  set(
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   CTRLPORT_BACKENDS ${CTRLPORT_BACKENDS}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   CACHE INTERNAL "Number of ControlPort backends available"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  CTRLPORT_BACKENDS ${CTRLPORT_BACKENDS}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  CACHE INTERNAL "Number of ControlPort backends available"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    HAVE_CTRLPORT_BACKEND ${HAVE_CTRLPORT_BACKEND}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CACHE INTERNAL "There at least 1 ControlPort backend"
</span>  )
<span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span> -endif(ENABLE_GR_CTRLPORT)
<span style='display:block; white-space:pre;background:#e0ffe0;'>++set(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    GR_CTRLPORT ${ENABLE_GR_CTRLPORT}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CACHE INTERNAL "Using ControlPort"
</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;'>++set(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    GR_RPCSERVER_ENABLED ${HAVE_CTRLPORT_BACKEND}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CACHE INTERNAL "RPC Server Enabled"
</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;'>++set(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    GR_RPCSERVER_THRIFT ${ENABLE_CTRLPORT_THRIFT}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CACHE INTERNAL "Thrift RPC Server Enabled"
</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;'>++# update runtime sources list, if any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++list(APPEND gnuradio_runtime_sources ${gnuradio_ctrlport_sources})
</span> --- gr-blocks/python/blocks/CMakeLists.txt.orig
 +++ gr-blocks/python/blocks/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -46,13 +46,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Copyright 2012 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Copyright 2012-2018 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This file is part of GNU Radio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -45,14 +45,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   include(GrTest)
</span>    file(GLOB py_qa_test_files "qa_*.py")
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   # Force out the controlport QA tests if we have no backends to use.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  # Force out the controlport QA tests if we have no backends to use.
</span> -  if(CTRLPORT_BACKENDS EQUAL 0)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if(NOT ENABLE_GR_CTRLPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  # Remove controlport QA tests if we have no backends to use.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(NOT HAVE_CTRLPORT_BACKEND)
</span>      list(REMOVE_ITEM py_qa_test_files
        ${CMAKE_CURRENT_SOURCE_DIR}/qa_cpp_py_binding.py
        ${CMAKE_CURRENT_SOURCE_DIR}/qa_cpp_py_binding_set.py
        ${CMAKE_CURRENT_SOURCE_DIR}/qa_ctrlport_probes.py
        )
 -  endif(CTRLPORT_BACKENDS EQUAL 0)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+  endif(NOT ENABLE_GR_CTRLPORT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  endif(NOT HAVE_CTRLPORT_BACKEND)
</span>  
    foreach(py_qa_test_file ${py_qa_test_files})
      get_filename_component(py_qa_test_name ${py_qa_test_file} NAME_WE)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gnuradio/files/patch-gnuradio-runtime_lib_buffer.cc.boost_include_fix.devel.diff b/science/gnuradio/files/patch-gnuradio-runtime_lib_buffer.cc.boost_include_fix.devel.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..8a020ff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gnuradio/files/patch-gnuradio-runtime_lib_buffer.cc.boost_include_fix.devel.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gnuradio-runtime/lib/buffer.cc.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gnuradio-runtime/lib/buffer.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -31,7 +31,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <iostream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <assert.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <algorithm>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <boost/math/common_factor_rt.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <boost/integer/common_factor_rt.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace gr {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -75,7 +75,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   static long
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   minimum_buffer_items(long type_size, long page_size)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return page_size / boost::math::gcd (type_size, page_size);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return page_size / boost::integer::gcd (type_size, page_size);
</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;'>+ 
</span></pre><pre style='margin:0'>

</pre>