<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9c0fb017764a5e1c50c225ee193eeb662f65c3f3">https://github.com/macports/macports-ports/commit/9c0fb017764a5e1c50c225ee193eeb662f65c3f3</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 9c0fb017764 python pg: add dependencies in a callback
</span>9c0fb017764 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 9c0fb017764a5e1c50c225ee193eeb662f65c3f3
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sun Aug 1 20:58:42 2021 +1000

<span style='display:block; white-space:pre;color:#404040;'>    python pg: add dependencies in a callback
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    See: https://github.com/macports/macports-ports/pull/11754#pullrequestreview-719593794
</span>---
 _resources/port1.0/group/python-1.0.tcl | 50 ++++++++++++++++-----------------
 1 file changed, 25 insertions(+), 25 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/python-1.0.tcl b/_resources/port1.0/group/python-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 07cfd70b47d..90d06e564a7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/python-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/python-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -105,7 +105,7 @@ proc python_set_versions {option action args} {
</span>     global name subport python._addedcode
     if {[string match py-* $name]} {
         foreach v [option $option] {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            subport py${v}[string trimleft $name py] { depends_lib-append port:python${v} }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            subport py${v}[string trimleft $name py] {}
</span>         }
         if {$subport eq $name || $subport eq ""} {
             # Ensure the stub port does not do anything with distfiles—not
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,11 +125,10 @@ proc python_set_versions {option action args} {
</span>             }
             extract {}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            # set up py-foo as a stub port that depends on the default pyXY-foo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # set up py-foo as a stub port
</span>             supported_archs noarch
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            global python.default_version python.version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            global python.version
</span>             unset python.version
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            depends_lib port:py${python.default_version}[string trimleft $name py]
</span>             patch {}
             build {}
             destroot {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -260,20 +259,14 @@ proc python_set_default_version {option action args} {
</span>     if {$action ne "set"} {
         return
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    global name subport python.default_version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[string match py-* $name]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {$subport eq $name || $subport eq ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            depends_lib port:py${python.default_version}[string trimleft $name py]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        python.versions ${python.default_version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib-append port:python[option python.default_version]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![string match py-* [option name]]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        python.versions [option python.default_version]
</span>     }
 }
 
 
 options python.branch python.prefix python.bin python.lib python.libdir \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        python.include python.pkgd python.pep517
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        python.include python.pkgd python.pep517 python.add_dependencies
</span> # for pythonXY, python.branch is X.Y, for pythonXYZ, it's X.YZ
 default python.branch   {[string index ${python.version} 0].[string range ${python.version} 1 end]}
 default python.prefix   {${frameworks_dir}/Python.framework/Versions/${python.branch}}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -289,22 +282,29 @@ default destroot.destdir {[python_get_defaults destroot_destdir]}
</span> default destroot.target {[python_get_defaults destroot_target]}
 
 default python.pep517   no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-option_proc python.pep517 python_set_pep517
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-proc python_set_pep517 {option action args} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {$action ne "set"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    global python.pep517 python.version subport name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {$subport ne $name} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[string is true -strict ${python.pep517}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            depends_build-append    port:py${python.version}-pep517 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                    port:py${python.version}-python-install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default python.add_dependencies yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc python_add_dependencies {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[option python.add_dependencies]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        global subport python.version python.default_version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[string match py-* $subport]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # set up py-foo as a stub port that depends on the default pyXY-foo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_lib-delete port:py${python.default_version}[string trimleft $subport py]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_lib-append port:py${python.default_version}[string trimleft $subport py]
</span>         } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            depends_build-delete    port:py${python.version}-pep517 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                    port:py${python.version}-python-install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_lib-delete port:python${python.version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            depends_lib-append port:python${python.version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[option python.pep517]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                depends_build-delete    port:py${python.version}-pep517 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                        port:py${python.version}-python-install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                depends_build-append    port:py${python.version}-pep517 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                        port:py${python.version}-python-install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span>         }
     }
 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+port::register_callback python_add_dependencies
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> 
 proc python_get_defaults {var} {
     global python.version python.branch python.prefix python.bin python.pep517 workpath
</pre><pre style='margin:0'>

</pre>