<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/4e2bf8b54ba99c48ab56d91e43496b711f96b9bd">https://github.com/macports/macports-ports/commit/4e2bf8b54ba99c48ab56d91e43496b711f96b9bd</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 4e2bf8b uhd: automate Python variants; add Py38; default to Py37
</span>4e2bf8b is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 4e2bf8b54ba99c48ab56d91e43496b711f96b9bd
</span>Author: Michael Dickens <michaelld@macports.org>
AuthorDate: Wed Dec 11 21:04:15 2019 -0500
<span style='display:block; white-space:pre;color:#404040;'> uhd: automate Python variants; add Py38; default to Py37
</span>---
science/uhd/Portfile | 81 ++++++++++++++++++++++++++++++++++++----------------
1 file changed, 56 insertions(+), 25 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/uhd/Portfile b/science/uhd/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 71a843a..9be1477 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/uhd/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/uhd/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -262,34 +262,65 @@ if {${configure.cxx_stdlib} eq "macports-libstdc++" ||
</span>
default_variants +docs +examples +libusb +manual +test +manpages
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# select Python to use; default to 2.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# specify the Python dependencies; these are checked for at configure,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# then used for building, but not at runtime.
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant python27 conflicts python36 python37 description {Build using Python 2.7} {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant python36 conflicts python27 python37 description {Build using Python 3.6} {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant python37 conflicts python27 python36 description {Build using Python 3.7} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pythons_suffixes {27 35 36 37 38}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset python27] &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ![variant_isset python36] &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ![variant_isset python37]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default_variants +python27
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pythons_ports {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend pythons_ports python${s}
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset python27] &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ![variant_isset python36] &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ![variant_isset python37]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "\n\nYou must select one of the variants +python27, +python36, or +python37.\n"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "Invalid variant selection"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set p python${s}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set v [string index ${s} 0].[string index ${s} 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set i [lsearch -exact ${pythons_ports} ${p}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set c [lreplace ${pythons_ports} ${i} ${i}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ variant ${p} description "Build ${name} using Python ${v}" conflicts {*}${c} ""
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set PythonVersionNoDot ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset python27]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set PythonVersionNoDot "27"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} elseif {[variant_isset python36]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set PythonVersionNoDot "36"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set PythonVersionNoDot "37"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# default to Py37 if not selected by the user
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set selected_python_no_dot 37
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset python${s}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set selected_python_no_dot ${s}
</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 +python${selected_python_no_dot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# make sure the default python variant wasn't
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# deselected without selecting another one
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set selected_python_no_dot ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset python${s}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set selected_python_no_dot ${s}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set PythonVersionWithDot [join [split ${PythonVersionNoDot} ""] "."]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${selected_python_no_dot} eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set py_vars ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set final_s [lindex ${pythons_suffixes} end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach s ${pythons_suffixes} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${s} eq ${final_s}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set py_vars "${py_vars}or "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set py_vars "${py_vars}+python${s}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${s} ne ${final_s}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set py_vars "${py_vars}, "
</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;'>+ ui_error "\n\nYou must select one of the variants ${py_vars}.\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "Invalid variant selection"
</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 PythonVersionNoDot ${selected_python_no_dot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set PythonVersionWithDot [join [split ${selected_python_no_dot} ""] "."]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set PythonTopDir "${frameworks_dir}/Python.framework/Versions/${PythonVersionWithDot}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set PythonName python${PythonVersionWithDot}
</span>
# required Python
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -300,7 +331,7 @@ depends_lib-append \
</span>
# specify the Python version to use
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set PythonExe "${frameworks_dir}/Python.framework/Versions/${PythonVersionWithDot}/bin/python${PythonVersionWithDot}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set PythonExe "${PythonTopDir}/bin/${PythonName}"
</span>
configure.args-append \
-DPYTHON_EXECUTABLE=${PythonExe}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -401,9 +432,9 @@ if {${subport} ne "uhd-39lts"} {
</span> depends_lib-append port:py${PythonVersionNoDot}-numpy
configure.args-append \
-DENABLE_PYTHON_API=ON \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON_INCLUDE_DIR=${frameworks_dir}/Python.framework/Versions/${PythonVersionWithDot}/Headers \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DPYTHON_LIBRARY=${frameworks_dir}/Python.framework/Versions/${PythonVersionWithDot}/Python \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DUHD_PYTHON_DIR=${frameworks_dir}/Python.framework/Versions/${PythonVersionWithDot}/lib/python${PythonVersionWithDot}/site-packages
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON_INCLUDE_DIR=${PythonTopDir}/Headers \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPYTHON_LIBRARY=${PythonTopDir}/Python \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DUHD_PYTHON_DIR=${PythonTopDir}/lib/${PythonName}/site-packages
</span>
# 'uhd' requires boost-python to be the correct version, not
# 'uhd-devel' or 'uhd-39lts'; remove this once the release has
</pre><pre style='margin:0'>
</pre>