<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/54c7857c867b11fbdbdd121b23dda43c8f583d3b">https://github.com/macports/macports-ports/commit/54c7857c867b11fbdbdd121b23dda43c8f583d3b</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 54c7857c867 cmake: fixup +python* variants to work robustly again
</span>54c7857c867 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 54c7857c867b11fbdbdd121b23dda43c8f583d3b
</span>Author: Michael Dickens <michaelld@macports.org>
AuthorDate: Tue Feb 2 19:49:49 2021 -0500

<span style='display:block; white-space:pre;color:#404040;'>    cmake: fixup +python* variants to work robustly again
</span>---
 devel/cmake/Portfile | 38 +++++++++++++++++++++++++++++---------
 1 file changed, 29 insertions(+), 9 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/cmake/Portfile b/devel/cmake/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c7cc6401094..2e621aca1e6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/cmake/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/cmake/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -247,7 +247,7 @@ if {${subport} eq ${name}} {
</span>     # Supported pythons
     set python_versions {27 35 36 37 38 39}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set python_isset false
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # declare all +python* variants, with conflicts
</span>     foreach pyver ${python_versions} {
         # Conflicting python versions
         set other_python_versions {}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -259,29 +259,49 @@ if {${subport} eq ${name}} {
</span>             }
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Get python branch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set python_branch  "[string range ${pyver} 0 end-1].[string index ${pyver} end]"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset python${pyver}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set python_isset true
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set PYTHON_VERSION_WITH_DOT ${python_branch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set PYTHON_VERSION_NO_DOT ${pyver}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set python_branch "[string range ${pyver} 0 end-1].[string index ${pyver} end]"
</span> 
         variant python${pyver} conflicts {*}${other_python_versions} requires docs description "Build documentation using ${python_branch} sphinx" {}
     }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # +docs requires one +python* variant
</span>     if {[variant_isset docs]} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set python_isset false
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach pyver ${python_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {!${python_isset}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set python_isset [variant_isset python${pyver}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set python_isset_ver_no_dot ${pyver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } elseif {[variant_isset python${pyver}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ui_error "\n\nDetected multiple +python* variants: +python${python_isset_ver_no_dot} and +python${pyver}.\nCannot have multiple +python* variants set.\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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # set default +python* variant if none were already selected
</span>         if {!${python_isset}} {
             set python_isset true
             default_variants +python39
         }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        # make sure one of the +python* variants is set
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set python_isset false
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach pyver ${python_versions} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {!${python_isset}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set python_isset  [variant_isset python${pyver}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set python_branch "[string range ${pyver} 0 end-1].[string index ${pyver} end]"
</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>         if {!${python_isset}} {
             ui_error "\n\nYou must select either the +python35, +python36, +python37, +python38 or +python39 variant when using variant +docs.\n"
             return -code error "Invalid variant selection"
         }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        set PYTHON_VERSION_WITH_DOT ${python_branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set PYTHON_VERSION_NO_DOT ${pyver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> 
     variant docs description {Build documentation: HTML and manpages} {
 
</pre><pre style='margin:0'>

</pre>