<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/795c493620788def9fbe250d5940b1694da9dca8">https://github.com/macports/macports-ports/commit/795c493620788def9fbe250d5940b1694da9dca8</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 795c4936207 stellarium: add +RemoteControl variant with +python* variant options
</span>795c4936207 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 795c493620788def9fbe250d5940b1694da9dca8
</span>Author: Michael Dickens <michaelld@macports.org>
AuthorDate: Wed Sep 29 10:33:41 2021 -0400

<span style='display:block; white-space:pre;color:#404040;'>    stellarium: add +RemoteControl variant with +python* variant options
</span>---
 science/stellarium/Portfile | 92 +++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 88 insertions(+), 4 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/stellarium/Portfile b/science/stellarium/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f9c1062f051..d700dbce1ee 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/stellarium/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/stellarium/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,8 +34,7 @@ depends_lib-append \
</span>     port:zlib \
     path:lib/libgps.dylib:gpsd \
     port:gettext \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    port:doxygen \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    port:python27
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    port:doxygen
</span> 
 # for libqcocoa.dylib (if not above)
 depends_lib-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -59,8 +58,7 @@ if {![tbool configure.ccache]} {
</span> 
 # special args for our needs
 configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DMP_APPLICATIONS_DIR=${applications_dir} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DPYTHON_EXECUTABLE=${prefix}/bin/python2.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DMP_APPLICATIONS_DIR=${applications_dir}
</span> 
 # This post-destroot phase is similar to the 'make macosx_bundle' target,
 # but it does not copy libraries into the bundle and does not require perl as
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -79,3 +77,89 @@ post-destroot {
</span>     copy ${qt_plugins_dir}/platforms/libqcocoa.dylib \
         ${appdir}/plugins/platforms
 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# this is the only part of Stellarium that requires Python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant RemoteControl description "build RemoteControl plugin" {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants-append +RemoteControl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset RemoteControl]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set pythons_versions {2.7 3.5 3.6 3.7 3.8 3.9}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        lappend pythons_ports python[string map {. {}} ${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;'>+    foreach v ${pythons_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set s [string map {. {}} ${v}]
</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 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:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #default to Python 3.9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set selected_python_no_dot 39
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach v ${pythons_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set s [string map {. {}} ${v}]
</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 v ${pythons_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set s [string map {. {}} ${v}]
</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;'>+
</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 [string map {. {}} [lindex ${pythons_versions} 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><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # required Python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:python${PythonVersionNoDot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # special args for our needs
</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=${prefix}/bin/python${PythonVersionWithDot} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DUSE_PLUGIN_REMOTECONTROL=YES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</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;'>+        -DPYTHON_EXECUTABLE= \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -DUSE_PLUGIN_REMOTECONTROL=NO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>

</pre>