Changeset 113379


Ignore:
Timestamp:
Nov 14, 2013, 6:21:12 PM (10 years ago)
Author:
michaelld@…
Message:

gnuradio:
+ add fixes for SWIG on 10.9;
+ add comments about using depends_lib versus depends_run for specific dependencies;
+ whitespace;
+ update compiler blacklist to be current;
+ redo default_variants to work more reliably;
+ update release to 3.7.2;
+ update devel to 544dce18 and next to 2f6f79e5, both 20131113;
+ hopefully addresses ticket #41162.

Location:
trunk/dports/science/gnuradio
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/science/gnuradio/Portfile

    r113092 r113379  
    66PortGroup           wxWidgets 1.0
    77PortGroup           active_variants 1.1
     8PortGroup           compiler_blacklist_versions 1.0
    89
    910wxWidgets.use       wxPython-3.0
     
    2122dist_subdir         gnuradio
    2223
    23 platform darwin {
    24     if {${os.major} >= 13} {
    25         pre-fetch {
    26             ui_msg "SWIG (as of 2.0.10) does not generate the C++11 compliant code needed by GNU Radio, and hence $name cannot use SWIG to build on Mavericks or later.  This means the GNU Radio Python interface cannot be created, and that gnuradio-companion will not be installed."
    27         }
    28     }
    29 }
    30 
    3124if {${subport} eq ${name}} {
    3225
    33     version         3.7.1
    34     revision        1
     26    version         3.7.2
    3527
    3628    long_description    ${description}: \
     
    4436
    4537    checksums \
    46         rmd160  c3c346d5d9a9b6d91f30b4b5d56737dcb9f41125 \
    47         sha256  e9f7f66d175365e281175f889ed4fc46e20318affa8f1f5b4edbe477378ad6cd
     38        rmd160  544dce18b81824437ed9919b4f65d3a3f4f9dceb \
     39        sha256  b80b42eaa091cb77a168e15b029307856db249d460ff06dfdf292802c19a2669
    4840
    4941    livecheck.url   http://gnuradio.org/releases/gnuradio/?C=M&O=D
     
    8274        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.
    8375
    84     version             3.7.2_20131107
     76    version             3.7.3_20131113
    8577
    8678    conflicts           gnuradio-legacy gnuradio gnuradio-next
     
    8880    fetch.type          git
    8981    git.url             http://git.gnuradio.org/git/gnuradio.git
    90     git.branch          5997f309e8209219851bb62b7e76184395b8630b
     82    git.branch          4749434d9b964aa5c452e861f7551b222a4f98ac
    9183
    9284    livecheck.url       http://gnuradio.org/cgit/gnuradio.git/log/?h=master
     
    10193        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.
    10294
    103     version             3.8.0_20131107
     95    version             3.8.0_20131113
    10496
    10597    conflicts           gnuradio-legacy gnuradio gnuradio-devel
     
    10799    fetch.type          git
    108100    git.url             http://git.gnuradio.org/git/gnuradio.git
    109     git.branch          7c652f08b06497a50836b3be92bddb0c314bc803
     101    git.branch          2f6f79e53e45c93223824742346f6a70f8007a05
    110102
    111103    livecheck.url       http://gnuradio.org/cgit/gnuradio.git/log/?h=next
     
    120112    # features that 3.6 does not have.
    121113
    122     depends_lib-append  port:log4cpp
     114    depends_lib-append port:log4cpp
    123115
    124116    variant ctrlport description {Enable control port enhancements (EXPERIMENTAL)} {}
     
    135127    }
    136128
    137     platform darwin {
    138         if {${os.major} < 13} {
    139 
    140             # VOLK requires a GCC variant (Apple or MacPorts), for
    141             # now; blacklist all clang variants, for now.
    142             # http://trac.macports.org/ticket/37979
    143 
    144             compiler.blacklist *clang*
    145         }
     129    # GNU Radio 3.7.1+ works with Apple GCC, some Apple clang >=
     130    # 500.2.79, and MacPorts clang 3.4 or newer; blacklist other
     131    # compilers.
     132
     133    if {${os.major} == 13} {
     134        # works with Apple's clang 500.2.79 on 10.9, but not 10.8.
     135        compiler.blacklist-append { clang < 500.2.79 }
     136    } else {
     137        compiler.blacklist-append clang
    146138    }
     139
     140    compiler.blacklist-append \
     141        macports-clang-2.9 macports-clang-3.1 \
     142        macports-clang-3.2 macports-clang-3.3
     143
     144    # temporary patch for fix swig build on 10.9; tested on 10.8 and
     145    # does not seem to hurt.
     146
     147    patchfiles-append patch-swig-include-std_string.i.diff
     148
    147149} else {
    148150
     
    151153    # this issue is in release 3.7.1 and newer.
    152154
    153     compiler.blacklist *clang* macports* dragonegg*
    154 
    155 }
     155    compiler.blacklist-append *clang* macports*
     156
     157}
     158
     159compiler.blacklist-append dragonegg*
    156160
    157161use_parallel_build  yes
     
    171175configure.dir       ${vpath}
    172176build.dir           ${vpath}
     177
     178# for 10.9, temporary fix to SWIG compile issue
     179
     180platform darwin 13 {
     181    pre-patch {
     182        set std_dest_dir ${worksrcpath}/gnuradio-runtime/swig/std
     183        if {[file exists ${std_dest_dir}]} {
     184            delete ${std_dest_dir}
     185        }
     186        copy [glob ${prefix}/share/swig/*/std] ${std_dest_dir}
     187    }
     188    patchfiles-append patch-gnuradio-runtime_swig_std_std_container.i.diff
     189}
    173190
    174191# remove top-level include path, such that internal headers are used
     
    213230    }
    214231}
     232
     233# shortcut to installing all variants except Python
     234
     235variant full description {Deprecated legacy variant} {}
     236
     237# per user concensus: enable all variants except +debug and +universal
     238# (and, for next, except +ctrlport);
     239
     240default_variants +docs +grc +qtgui +wxgui +uhd +orc +wavelet \
     241    +jack +portaudio +swig +sdl
    215242
    216243# set Python variants
     
    239266
    240267            depends_lib-append \
    241                 port:${p} \
     268                port:${p}
     269
     270            # these are checked for at configure, then required for
     271            # runtime; so use depends_lib to get both.
     272
     273            depends_lib-append \
    242274                port:py${s}-numpy \
    243275                port:py${s}-cheetah
     276
     277            # these are not checked for at configure, but are required
     278            # for runtime; so use depends_run.
    244279
    245280            depends_run-append \
     
    269304            if {[variant_isset grc]} {
    270305
     306                # these are checked for at configure, then required
     307                # for runtime; so use depends_lib to get both.
     308
    271309                depends_lib-append \
    272310                    port:py${s}-lxml \
     
    277315            if {[variant_isset qtgui]} {
    278316
     317                # pyqt4 is checked for at configure, then required for
     318                # runtime; so use depends_lib to get both.  Can use
     319                # either py*-pyqt4 or py*-pyqt4-devel.
     320
    279321                depends_lib-append \
    280322                    path:share/qt4/plugins/designer/libpy${s}qt4.dylib:py${s}-pyqt4
     323
     324                # pyqwt is not checked for at configure, but is
     325                # required for runtime; so use depends_run.
     326
    281327                depends_run-append \
    282328                    port:py${s}-pyqwt
     
    286332            if {[variant_isset wxgui]} {
    287333
    288                 depends_run-append \
     334                # wxpython is checked for at configure, then required
     335                # for runtime; so use depends_lib to get both.
     336
     337                depends_lib-append \
    289338                    port:py${s}-wxpython-3.0
    290339
     
    294343                    [variant_isset ctrlport]} {
    295344
    296                 depends_lib-append port:py${s}-zeroc-ice34
     345                # pyice is not checked for at configure, but is
     346                # required for runtime; so use depends_run.
     347
     348                depends_run-append port:py${s}-zeroc-ice34
    297349
    298350            }
     
    495547}
    496548
    497 # disable SWIG (and GRC) on 10.9 until SWIG works better
    498 
    499 platform darwin {
    500     if {${os.major} >= 13} {
    501 
    502         default_variants -swig -grc
    503 
    504         if {[variant_isset swig] || [variant_isset grc]} {
    505 
    506             ui_error "SWIG does not generate the C++11 compliant code needed by GNU Radio, and hence $name cannot use SWIG to build on Mavericks or later.  This means the GNU Radio Python interface cannot be created, and that gnuradio-companion will not be installed."
    507             error "unsupported platform"
    508 
    509         }
    510     }
    511 }
    512 
    513549if {![variant_isset swig]} {
    514550
     
    538574
    539575}
    540 
    541 # shortcut to installing all variants except Python
    542 
    543 platform darwin {
    544     if {${os.major} >= 13} {
    545 
    546         variant full \
    547             requires docs qtgui wxgui uhd orc wavelet jack portaudio sdl \
    548             description {Enable all variants except +debug and +universal (and, for next, except +ctrlport)} {}
    549 
    550     } else {
    551 
    552         variant full \
    553             requires docs grc qtgui wxgui uhd orc wavelet jack portaudio swig sdl \
    554             description {Enable all variants except +debug and +universal (and, for next, except +ctrlport)} {}
    555 
    556     }
    557 }
    558 # make +full the default; per user concensus
    559 
    560 default_variants-append +full
Note: See TracChangeset for help on using the changeset viewer.