[121498] trunk/dports/science/gnuradio

michaelld at macports.org michaelld at macports.org
Fri Jun 27 07:18:42 PDT 2014


Revision: 121498
          https://trac.macports.org/changeset/121498
Author:   michaelld at macports.org
Date:     2014-06-27 07:18:42 -0700 (Fri, 27 Jun 2014)
Log Message:
-----------
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.

Modified Paths:
--------------
    trunk/dports/science/gnuradio/Portfile

Added Paths:
-----------
    trunk/dports/science/gnuradio/files/patch-various-10_5-fixes.diff

Modified: trunk/dports/science/gnuradio/Portfile
===================================================================
--- 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)
@@ -93,15 +93,15 @@
     long_description    ${description}: \
         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.
 
-    github.setup        gnuradio gnuradio ad9b5476be6e9a27638dfb9b3dbe5ca2c6a65fee
-    version             3.7.4_20140613
+    github.setup        gnuradio gnuradio df8695346d527692fc5c55ceaed299f3974fd84c
+    version             3.7.4_20140626
     name                gnuradio-devel
 
     conflicts           gnuradio-legacy gnuradio gnuradio-next
 
     checksums \
-        rmd160 790b7784908401ef979f46cb9513b6452644c8bb \
-        sha256 e1e5acf08677ad3b7fbeeb9089e5afb855512e9820fd1473b47914c16d203f80
+        rmd160 4f3936bb8de654510c5ab9d4f5598d122cd5bc43 \
+        sha256 7b46f5c5dfa2483a7cf8b404fedb5450542ad72e3763d3257e19a5351a0dec35
 
 }
 
@@ -110,15 +110,15 @@
     long_description    ${description}: \
         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.
 
-    github.setup        gnuradio gnuradio d298d4f459020a5d6ad69037911079fba5a1d44d
-    version             3.8.0_20140613
+    github.setup        gnuradio gnuradio 5aa912ef25939faa121c730cace623e42a1955c0
+    version             3.8.0_20140626
     name                gnuradio-next
 
     conflicts           gnuradio-legacy gnuradio gnuradio-devel
 
     checksums \
-        rmd160 a6a109c1d46f9a7ddc73e65e033a07404be72ce5 \
-        sha256 af39485c7e46c8af02ef92f856a7a614b29cf124a1184bcd5f15e9bed83d023b
+        rmd160 fdc47f258dda456c8d2aaf1b5320a48b835beec9 \
+        sha256 e6e2ecc040dc7636f65c0c07153b8068ff777205d3ab763237c4403255306016
 
     # overload the github livecheck URL with the correct branch
 
@@ -133,6 +133,11 @@
 
     depends_lib-append port:log4cpp
 
+    # 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
+
     variant ctrlport description {Enable control port enhancements (EXPERIMENTAL)} {}
 
     if {[variant_isset ctrlport]} {

Added: trunk/dports/science/gnuradio/files/patch-various-10_5-fixes.diff
===================================================================
--- 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)
@@ -0,0 +1,132 @@
+--- 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<OSStatus>(err);                        \
+-    char err_str[5];                                                    \
+-    *((UInt32*)err_str) = error;					\
+-    err_str[4] = 0;							\
++    char err_str[sizeof(OSStatus)+1];					\
++    memcpy((void*)(&err_str), (void*)(&error), sizeof(OSStatus));	\
++    err_str[sizeof(OSStatus)] = 0;					\
+     GR_LOG_FATAL(d_logger, boost::format(what));			\
+     GR_LOG_FATAL(d_logger, boost::format("  Error# %u ('%s')")		\
+ 		 % error % err_str);					\
+@@ -49,9 +49,9 @@ namespace osx {
+ #define check_error(err,what)                                           \
+   if(err) {                                                             \
+     OSStatus error = static_cast<OSStatus>(err);                        \
+-    char err_str[5];                                                    \
+-    *((UInt32*)err_str) = error;					\
+-    err_str[4] = 0;							\
++    char err_str[sizeof(OSStatus)+1];					\
++    memcpy((void*)(&err_str), (void*)(&error), sizeof(OSStatus));	\
++    err_str[sizeof(OSStatus)] = 0;					\
+     GR_LOG_WARN(d_logger, boost::format(what));				\
+     GR_LOG_WARN(d_logger, boost::format("  Error# %u ('%s')")		\
+ 		   % error % err_str);					\
+commit aead6f76ab85755c5ae4e561f0560247eb8b2a97
+Author: Michael Dickens <mlk at alum.mit.edu>
+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<AudioHardwarePropertyListenerProc>
+-	   (&osx_source::hardware_listener)
+-	 reinterpret_cast<void*>(this));
++	   (&osx_source::hardware_listener));
+ #if _OSX_AU_DEBUG_
+       check_error(err, "AudioObjectRemovePropertyListener hardware");
+ #endif
+@@ -943,8 +942,7 @@ namespace gr {
+ 	err = AudioHardwareRemovePropertyListener
+ 	  (kAudioHardwarePropertyDefaultInputDevice,
+ 	   reinterpret_cast<AudioHardwarePropertyListenerProc>
+-	     (&osx_source::default_listener),
+-	   reinterpret_cast<void*>(this));
++	     (&osx_source::default_listener));
+ #if _OSX_AU_DEBUG_
+ 	check_error(err, "AudioObjectRemovePropertyListener default");
+ #endif
+commit 3d76c05bca4efb8f3aa8187135986c28a4e7fae8
+Author: Michael Dickens <mlk at alum.mit.edu>
+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 "Architecture is not x86 or x86_64")
++    OVERRULE_ARCH(mmx "Architecture is not x86 or x86_64")
++    OVERRULE_ARCH(sse "Architecture is not x86 or x86_64")
++    OVERRULE_ARCH(sse2 "Architecture is not x86 or x86_64")
++    OVERRULE_ARCH(sse3 "Architecture is not x86 or x86_64")
++    OVERRULE_ARCH(ssse3 "Architecture is not x86 or x86_64")
++    OVERRULE_ARCH(sse4_a "Architecture is not x86 or x86_64")
++    OVERRULE_ARCH(sse4_1 "Architecture is not x86 or x86_64")
++    OVERRULE_ARCH(sse4_2 "Architecture is not x86 or x86_64")
++    OVERRULE_ARCH(avx "Architecture is not x86 or x86_64")
++endif(NOT CPU_IS_x86)
+ 
+ ########################################################################
+ # implement overruling in the ORC case,
+commit a59f68f0ccb80d8f6bc74899b7abd2cc6b62004c
+Author: Michael Dickens <mlk at alum.mit.edu>
+Date:   Mon Jun 23 22:21:58 2014 -0400
+
+    cmake: remove SIZE_T_32 SWIG code for handling std::vector<size_t>.
+
+--- 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<size_t> and vector<unsigned int> (on 32-bit machines) and
+-    # vector<long unsigned int> (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("size_t" SIZEOF_SIZE_T)
+-    CHECK_TYPE_SIZE("unsigned int" 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< std::vector< std::complex<float> > >;
+ %template(gr_vector_vector_complexd) std::vector< std::vector< std::complex<double> > >;
+ 
+-// Fix for Issue #529
+-#ifdef SIZE_T_32
+-  // On 32-bit systems, whenever we see std::vector<size_t>, replace it
+-  // with vector<unsigned int>
+-  %apply std::vector<unsigned int> { std::vector<size_t> };
+-#else
+-  // On 64-bit systems, whenever we see std::vector<size_t>, replace it
+-  // with vector<long unsigned int>
+-  %apply std::vector<long unsigned int> { std::vector<size_t> };
+-#endif
+-
+ #endif /* SWIG_GR_TYPES_I */
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140627/895da5be/attachment-0001.html>


More information about the macports-changes mailing list