<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[121498] trunk/dports/science/gnuradio</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/121498">121498</a></dd>
<dt>Author</dt> <dd>michaelld@macports.org</dd>
<dt>Date</dt> <dd>2014-06-27 07:18:42 -0700 (Fri, 27 Jun 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>gnuradio:
+ update devel to df869534 and next to 5aa912ef, both 20140626;
+ add patch to fix various building issues on OSX 10.5 and PPC, for all gnuradio ports except legacy.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportssciencegnuradioPortfile">trunk/dports/science/gnuradio/Portfile</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkdportssciencegnuradiofilespatchvarious10_5fixesdiff">trunk/dports/science/gnuradio/files/patch-various-10_5-fixes.diff</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportssciencegnuradioPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/science/gnuradio/Portfile (121497 => 121498)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/science/gnuradio/Portfile        2014-06-27 12:10:25 UTC (rev 121497)
+++ trunk/dports/science/gnuradio/Portfile        2014-06-27 14:18:42 UTC (rev 121498)
</span><span class="lines">@@ -93,15 +93,15 @@
</span><span class="cx">     long_description    ${description}: \
</span><span class="cx">         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 current builds, and trying again.
</span><span class="cx"> 
</span><del>-    github.setup        gnuradio gnuradio ad9b5476be6e9a27638dfb9b3dbe5ca2c6a65fee
-    version             3.7.4_20140613
</del><ins>+    github.setup        gnuradio gnuradio df8695346d527692fc5c55ceaed299f3974fd84c
+    version             3.7.4_20140626
</ins><span class="cx">     name                gnuradio-devel
</span><span class="cx"> 
</span><span class="cx">     conflicts           gnuradio-legacy gnuradio gnuradio-next
</span><span class="cx"> 
</span><span class="cx">     checksums \
</span><del>-        rmd160 790b7784908401ef979f46cb9513b6452644c8bb \
-        sha256 e1e5acf08677ad3b7fbeeb9089e5afb855512e9820fd1473b47914c16d203f80
</del><ins>+        rmd160 4f3936bb8de654510c5ab9d4f5598d122cd5bc43 \
+        sha256 7b46f5c5dfa2483a7cf8b404fedb5450542ad72e3763d3257e19a5351a0dec35
</ins><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -110,15 +110,15 @@
</span><span class="cx">     long_description    ${description}: \
</span><span class="cx">         This port is kept up with the GNU Radio GIT 'next' branch, which is typically updated daily to weekly.  This version of GNU Radio represents the next major release of GNU Radio, and hence its API is likely to be different than that provided by either gnuradio or gnuradio-devel.  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 current builds, and trying again.
</span><span class="cx"> 
</span><del>-    github.setup        gnuradio gnuradio d298d4f459020a5d6ad69037911079fba5a1d44d
-    version             3.8.0_20140613
</del><ins>+    github.setup        gnuradio gnuradio 5aa912ef25939faa121c730cace623e42a1955c0
+    version             3.8.0_20140626
</ins><span class="cx">     name                gnuradio-next
</span><span class="cx"> 
</span><span class="cx">     conflicts           gnuradio-legacy gnuradio gnuradio-devel
</span><span class="cx"> 
</span><span class="cx">     checksums \
</span><del>-        rmd160 a6a109c1d46f9a7ddc73e65e033a07404be72ce5 \
-        sha256 af39485c7e46c8af02ef92f856a7a614b29cf124a1184bcd5f15e9bed83d023b
</del><ins>+        rmd160 fdc47f258dda456c8d2aaf1b5320a48b835beec9 \
+        sha256 e6e2ecc040dc7636f65c0c07153b8068ff777205d3ab763237c4403255306016
</ins><span class="cx"> 
</span><span class="cx">     # overload the github livecheck URL with the correct branch
</span><span class="cx"> 
</span><span class="lines">@@ -133,6 +133,11 @@
</span><span class="cx"> 
</span><span class="cx">     depends_lib-append port:log4cpp
</span><span class="cx"> 
</span><ins>+    # patches to fix compilation on 10.5; these are already in pending
+    # pull requests, so temporary here until the next update.
+
+    patchfiles-append patch-various-10_5-fixes.diff
+
</ins><span class="cx">     variant ctrlport description {Enable control port enhancements (EXPERIMENTAL)} {}
</span><span class="cx"> 
</span><span class="cx">     if {[variant_isset ctrlport]} {
</span></span></pre></div>
<a id="trunkdportssciencegnuradiofilespatchvarious10_5fixesdiff"></a>
<div class="addfile"><h4>Added: trunk/dports/science/gnuradio/files/patch-various-10_5-fixes.diff (0 => 121498)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/science/gnuradio/files/patch-various-10_5-fixes.diff                                (rev 0)
+++ trunk/dports/science/gnuradio/files/patch-various-10_5-fixes.diff        2014-06-27 14:18:42 UTC (rev 121498)
</span><span class="lines">@@ -0,0 +1,132 @@
</span><ins>+--- gr-audio/lib/osx/osx_common.h.orig
++++ gr-audio/lib/osx/osx_common.h
+@@ -35,9 +35,9 @@ namespace osx {
+ #define check_error_and_throw(err,what,throw_str)                        \
+   if(err) {                                                             \
+     OSStatus error = static_cast&lt;OSStatus&gt;(err);                        \
+-    char err_str[5];                                                    \
+-    *((UInt32*)err_str) = error;                                        \
+-    err_str[4] = 0;                                                        \
++    char err_str[sizeof(OSStatus)+1];                                        \
++    memcpy((void*)(&amp;err_str), (void*)(&amp;error), sizeof(OSStatus));        \
++    err_str[sizeof(OSStatus)] = 0;                                        \
+     GR_LOG_FATAL(d_logger, boost::format(what));                        \
+     GR_LOG_FATAL(d_logger, boost::format(&quot;  Error# %u ('%s')&quot;)                \
+                  % error % err_str);                                        \
+@@ -49,9 +49,9 @@ namespace osx {
+ #define check_error(err,what)                                           \
+   if(err) {                                                             \
+     OSStatus error = static_cast&lt;OSStatus&gt;(err);                        \
+-    char err_str[5];                                                    \
+-    *((UInt32*)err_str) = error;                                        \
+-    err_str[4] = 0;                                                        \
++    char err_str[sizeof(OSStatus)+1];                                        \
++    memcpy((void*)(&amp;err_str), (void*)(&amp;error), sizeof(OSStatus));        \
++    err_str[sizeof(OSStatus)] = 0;                                        \
+     GR_LOG_WARN(d_logger, boost::format(what));                                \
+     GR_LOG_WARN(d_logger, boost::format(&quot;  Error# %u ('%s')&quot;)                \
+                    % error % err_str);                                        \
+commit aead6f76ab85755c5ae4e561f0560247eb8b2a97
+Author: Michael Dickens &lt;mlk@alum.mit.edu&gt;
+Date:   Thu Jun 26 19:35:12 2014 -0400
+
+    gr-audio OSX: fix call to AudioHardwareRemovePropertyListener to match API.
+
+--- gr-audio/lib/osx/osx_source.cc.orig
++++ gr-audio/lib/osx/osx_source.cc
+@@ -933,8 +933,7 @@ namespace gr {
+       err = AudioHardwareRemovePropertyListener
+         (kAudioHardwarePropertyDevices,
+          reinterpret_cast&lt;AudioHardwarePropertyListenerProc&gt;
+-           (&amp;osx_source::hardware_listener)
+-         reinterpret_cast&lt;void*&gt;(this));
++           (&amp;osx_source::hardware_listener));
+ #if _OSX_AU_DEBUG_
+       check_error(err, &quot;AudioObjectRemovePropertyListener hardware&quot;);
+ #endif
+@@ -943,8 +942,7 @@ namespace gr {
+         err = AudioHardwareRemovePropertyListener
+           (kAudioHardwarePropertyDefaultInputDevice,
+            reinterpret_cast&lt;AudioHardwarePropertyListenerProc&gt;
+-             (&amp;osx_source::default_listener),
+-           reinterpret_cast&lt;void*&gt;(this));
++             (&amp;osx_source::default_listener));
+ #if _OSX_AU_DEBUG_
+         check_error(err, &quot;AudioObjectRemovePropertyListener default&quot;);
+ #endif
+commit 3d76c05bca4efb8f3aa8187135986c28a4e7fae8
+Author: Michael Dickens &lt;mlk@alum.mit.edu&gt;
+Date:   Thu Jun 26 20:33:35 2014 -0400
+
+    volk cmake: if the CPU is not x86, eliminate all Intel SIMD.
+
+--- volk/lib/CMakeLists.txt.orig
++++ volk/lib/CMakeLists.txt
+@@ -205,6 +205,22 @@ if(${HAVE_AVX_CVTPI32_PS})
+     add_definitions(-DHAVE_AVX_CVTPI32_PS)
+ endif()

++########################################################################
++# if the CPU is not x86, eliminate all Intel SIMD
++########################################################################
++
++if(NOT CPU_IS_x86)
++    OVERRULE_ARCH(3dnow &quot;Architecture is not x86 or x86_64&quot;)
++    OVERRULE_ARCH(mmx &quot;Architecture is not x86 or x86_64&quot;)
++    OVERRULE_ARCH(sse &quot;Architecture is not x86 or x86_64&quot;)
++    OVERRULE_ARCH(sse2 &quot;Architecture is not x86 or x86_64&quot;)
++    OVERRULE_ARCH(sse3 &quot;Architecture is not x86 or x86_64&quot;)
++    OVERRULE_ARCH(ssse3 &quot;Architecture is not x86 or x86_64&quot;)
++    OVERRULE_ARCH(sse4_a &quot;Architecture is not x86 or x86_64&quot;)
++    OVERRULE_ARCH(sse4_1 &quot;Architecture is not x86 or x86_64&quot;)
++    OVERRULE_ARCH(sse4_2 &quot;Architecture is not x86 or x86_64&quot;)
++    OVERRULE_ARCH(avx &quot;Architecture is not x86 or x86_64&quot;)
++endif(NOT CPU_IS_x86)

+ ########################################################################
+ # implement overruling in the ORC case,
+commit a59f68f0ccb80d8f6bc74899b7abd2cc6b62004c
+Author: Michael Dickens &lt;mlk@alum.mit.edu&gt;
+Date:   Mon Jun 23 22:21:58 2014 -0400
+
+    cmake: remove SIZE_T_32 SWIG code for handling std::vector&lt;size_t&gt;.
+
+--- cmake/Modules/GrSwig.cmake.orig
++++ cmake/Modules/GrSwig.cmake
+@@ -105,18 +105,6 @@ endfunction(GR_SWIG_MAKE_DOCS)
+ macro(GR_SWIG_MAKE name)
+     set(ifiles ${ARGN})

+-    # Shimming this in here to take care of a SWIG bug with handling
+-    # vector&lt;size_t&gt; and vector&lt;unsigned int&gt; (on 32-bit machines) and
+-    # vector&lt;long unsigned int&gt; (on 64-bit machines). Use this to test
+-    # the size of size_t, then set SIZE_T_32 if it's a 32-bit machine
+-    # or not if it's 64-bit. The logic in gr_type.i handles the rest.
+-    INCLUDE (CheckTypeSize)
+-    CHECK_TYPE_SIZE(&quot;size_t&quot; SIZEOF_SIZE_T)
+-    CHECK_TYPE_SIZE(&quot;unsigned int&quot; SIZEOF_UINT)
+-    if(${SIZEOF_SIZE_T} EQUAL ${SIZEOF_UINT})
+-      list(APPEND GR_SWIG_FLAGS -DSIZE_T_32)
+-    endif(${SIZEOF_SIZE_T} EQUAL ${SIZEOF_UINT})
+-
+     #do swig doc generation if specified
+     if (GR_SWIG_DOC_FILE)
+         set(GR_SWIG_DOCS_SOURCE_DEPS ${GR_SWIG_SOURCE_DEPS})
+--- gnuradio-runtime/swig/gr_types.i.orig
++++ gnuradio-runtime/swig/gr_types.i
+@@ -80,15 +80,4 @@ namespace std {
+ %template(gr_vector_vector_complexf) std::vector&lt; std::vector&lt; std::complex&lt;float&gt; &gt; &gt;;
+ %template(gr_vector_vector_complexd) std::vector&lt; std::vector&lt; std::complex&lt;double&gt; &gt; &gt;;

+-// Fix for Issue #529
+-#ifdef SIZE_T_32
+-  // On 32-bit systems, whenever we see std::vector&lt;size_t&gt;, replace it
+-  // with vector&lt;unsigned int&gt;
+-  %apply std::vector&lt;unsigned int&gt; { std::vector&lt;size_t&gt; };
+-#else
+-  // On 64-bit systems, whenever we see std::vector&lt;size_t&gt;, replace it
+-  // with vector&lt;long unsigned int&gt;
+-  %apply std::vector&lt;long unsigned int&gt; { std::vector&lt;size_t&gt; };
+-#endif
+-
+ #endif /* SWIG_GR_TYPES_I */
</ins></span></pre>
</div>
</div>

</body>
</html>