<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/8cb6cd6fded8af008d0af1b15e66acdd9cbdc6e4">https://github.com/macports/macports-ports/commit/8cb6cd6fded8af008d0af1b15e66acdd9cbdc6e4</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 8cb6cd6fded8af008d0af1b15e66acdd9cbdc6e4
</span>Author: Davide Gerhard <ra1nb0w@macports.org>
AuthorDate: Mon Dec 13 21:26:00 2021 +0100

<span style='display:block; white-space:pre;color:#404040;'>    gnuradio: new portgroup
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This PortGroup helps to maintain gnuradio dependencies coherent between
</span><span style='display:block; white-space:pre;color:#404040;'>    gnuradio and gnuradio modules.
</span>---
 _resources/port1.0/group/gnuradio-1.0.tcl | 188 ++++++++++++++++++++++++++++++
 1 file changed, 188 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/gnuradio-1.0.tcl b/_resources/port1.0/group/gnuradio-1.0.tcl
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e7212c383d8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/gnuradio-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,188 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; truncate-lines: t -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This PortGroup helps to maintain gnuradio dependencies coherent between
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# gnuradio and gnuradio modules.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Usage:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# PortGroup           gnuradio 1.0
</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;'>+PortGroup           cmake 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           boost 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          science comms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           darwin macosx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# declare which gnuradio are you using
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options gnuradio.type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default gnuradio.type "gnuradio"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options gnuradio.python_version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options gnuradio.default_python_variant
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string first "37" $subport] > 1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default gnuradio.python_versions { 2.7 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default gnuradio.default_python_variant +python27
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # the following versions use all the same python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default gnuradio.python_versions { 3.8 3.9 3.10 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default gnuradio.default_python_variant +python39
</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;'>+# use C/C++11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.c_standard   2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+boost.version 1.71
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# see https://github.com/macports/macports-ports/pull/7805
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license_noconflict-append openssl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# see https://github.com/macports/macports-ports/pull/7805
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license_noconflict-append graphviz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Define the available variants
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach py_ver ${gnuradio.python_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set py_ver_no_dot [join [split ${py_ver} "."] ""]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set variant_line {variant python${py_ver_no_dot} description "Build with python ${py_ver} support"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach py_over ${gnuradio.python_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { ${py_ver} == ${py_over} } { continue }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set py_over_no_dot [join [split ${py_over} "."] ""]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        append variant_line " conflicts python${py_over_no_dot}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    append variant_line { { } }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    eval $variant_line
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset python${py_ver_no_dot}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${gnuradio.default_python_variant} != "+python${py_ver_no_dot}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set gnuradio.default_python_variant ""
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# set default python variant if not selected
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${gnuradio.default_python_variant} != ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants-append "${gnuradio.default_python_variant}"
</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 a python variant is enabled, activate it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set active_python_version ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set active_python_version_no_dot ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach py_ver ${gnuradio.python_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set py_ver_no_dot [join [split ${py_ver} "."] ""]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset python${py_ver_no_dot}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set active_python_version        ${py_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set active_python_version_no_dot ${py_ver_no_dot}
</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;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    port:fftw-3-single \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    path:lib/libmpir.dylib:mpir \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    path:lib/libvolk.dylib:volk \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    port:gmp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    port:python${active_python_version_no_dot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# need matplotlib for polar encoder/decoder, runtime only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_run-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    port:py${active_python_version_no_dot}-matplotlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    port:py${active_python_version_no_dot}-opengl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    port:py${active_python_version_no_dot}-scipy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    port:py${active_python_version_no_dot}-numpy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    port:py${active_python_version_no_dot}-cheetah
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string first "37" $subport] > 1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # still require cppunit for testing; NOTE: cppunit is checked for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # during configure, so we need it to be in depends_lib or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # depends_build to be used correctly. Choose the latter since it's
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # not required for runtime; just for build/test.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:cppunit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # add dependencies for gnuradio >= 3.8
</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 {[string first "gr37-" $subport] >= 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:gnuradio37
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:swig3-python
</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;'>+        -DSWIG_EXECUTABLE=${prefix}/bin/swig3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {[string first "gr-" $subport] >= 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        path:lib/libgnuradio-runtime.dylib:gnuradio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:swig-python
</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;'>+        -DSWIG_EXECUTABLE=${prefix}/bin/swig
</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 build type to release or debug, not "MacPorts" since the GR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# CMake system checks for a valid value and this is not one of them
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset debug]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    cmake.build_type Debug
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    cmake.build_type Release
</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;'>+# specify the Python version to use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python_framework_dir ${frameworks_dir}/Python.framework/Versions/${active_python_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DPYTHON_EXECUTABLE=${python_framework_dir}/bin/python${active_python_version} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DPYTHON_INCLUDE_DIR=${python_framework_dir}/Headers \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DPYTHON_LIBRARY=${python_framework_dir}/Python \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DGR_PYTHON_DIR=${python_framework_dir}/lib/python${active_python_version}/site-packages \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DDOXYGEN_DOT_EXECUTABLE=${prefix}/bin/dot \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DDOXYGEN_EXECUTABLE=${prefix}/bin/doxygen \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_MODULES_DIR=${prefix}/share/cmake \
</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=${prefix}/lib/libmpirxx.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DENABLE_DOXYGEN=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DENABLE_SPHINX=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# remove top-level library and include paths, such that internal ones
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# are searched before any already-installed ones.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cppflags-delete -I${prefix}/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.ldflags-delete  -L${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# TODO check "macports-libstdc++" or "libstdc++" should not needed anymore, right?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# disable C/CXX standard extensions (e.g., "gnu++11" and "gnu11"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# rather than "c++11" and "c11"). GNU Radio itself does not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# require these extensions, and when compiling with Clang they
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# don't really do anything anyway; so, just disable them.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_CXX_EXTENSIONS=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_C_EXTENSIONS=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant docs description "Install documentation" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # texlive-latex not needed from 3.9.0.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:doxygen \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        path:bin/dot:graphviz \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:py${active_python_version_no_dot}-sphinx \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:texlive-latex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DENABLE_DOXYGEN=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DENABLE_SPHINX=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DSPHINX_EXECUTABLE=
</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;'>+        -DENABLE_DOXYGEN=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DENABLE_SPHINX=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DSPHINX_EXECUTABLE=${python_framework_dir}/bin/sphinx-build
</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;'>+default_variants-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    +docs
</span></pre><pre style='margin:0'>

</pre>