<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/3ae13a419c4aee5de2ea6fd8b206381849ee8707">https://github.com/macports/macports-ports/commit/3ae13a419c4aee5de2ea6fd8b206381849ee8707</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 3ae13a419c4 ntpsec: Add variants for Python versions.
</span>3ae13a419c4 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 3ae13a419c4aee5de2ea6fd8b206381849ee8707
</span>Author: Fred Wright <fw@fwright.net>
AuthorDate: Thu Jun 15 18:37:29 2023 -0700

<span style='display:block; white-space:pre;color:#404040;'>    ntpsec: Add variants for Python versions.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This implements pythonXY variants to allow choosing the Python
</span><span style='display:block; white-space:pre;color:#404040;'>    version.  The default remains +python27 for now, as noted.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Having subports for each Python version would be better, but is more
</span><span style='display:block; white-space:pre;color:#404040;'>    work, so for now only one version at a time can be selected.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/63955
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Also removes the erroneously installed 'runtests' program.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Also removes the unnecessary dependency on py-test.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This gets a revbump due to the 'runtests' removal, as well as due to
</span><span style='display:block; white-space:pre;color:#404040;'>    the registry update for the new variants.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    TESTED:
</span><span style='display:block; white-space:pre;color:#404040;'>    Built and ran tests with all variants on 10.4-10.5 ppc, 10.4-10.6
</span><span style='display:block; white-space:pre;color:#404040;'>    i386, 10.6-10.15 x86_64, and 11.x-13.x arm64.  Successful except where
</span><span style='display:block; white-space:pre;color:#404040;'>    pythonXY was unavailable or broken on the OS/CPU combination.
</span>---
 sysutils/ntpsec/Portfile | 79 ++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 67 insertions(+), 12 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/ntpsec/Portfile b/sysutils/ntpsec/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c55fac0a582..8197609c754 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/ntpsec/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/ntpsec/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,7 +7,7 @@ PortGroup           openssl 1.0
</span> 
 name                ntpsec
 version             1.2.2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> categories          sysutils net
 maintainers         {fwright.net:fw @fhgwright} openmaintainer
 description         A secure, hardened, and improved implementation of NTP
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,26 +36,74 @@ if { ${os.platform} eq "darwin" && ${os.major} < 10 } {
</span>     supported_archs     i386 ppc
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# To avoid breaking any code that uses our Python package, keep the Python
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# version at 2.7 until we add variants for Python versions.  The upstream
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# code itself works with 2.6, 2.7, and 3.3+.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions     27
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ntpsec requires Python 2.6, 2.7, or 3.3+.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# We skip 2.6 and 3.3, but keep 2.7 and 3.4+.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Some variants may force a more restricted list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pythons_suffixes {27 34 35 36 37 38 39 310 311}
</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_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:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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 range ${s} 1 99]
</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} to use Python ${v}" conflicts {*}${c} ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Note that the upstream --python option may not work correctly, so waf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# must be run with the target Python version.  The waf PortGroup doesn't
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# currently allow selecting its Python version, but since it's hard-coded
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# for 2.7, we can ignore this for now.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Default to +python27
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Since this port provides Python modules that may be used by users, changing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# the Python version may break existing user code.  Since earlier versions of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# this port had no pythonXX variant, there is no established default variant
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# to avoid such a switch on an upgrade.  Hence, the default should remain at
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# +python27 for a while.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pyver_no_dot "27"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</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 pyver_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${pyver_no_dot}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Also note that the new ffi-based Python client library doesn't work properly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# make sure some python variant is selected
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pyver_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 pyver_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;'>+pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${pyver_no_dot} eq ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_error "\n\nYou must select one of the Python variants (+pythonXY).\n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return -code error "Invalid Python 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;'>+python.version          ${pyver_no_dot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+waf.python_branch       ${python.branch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Avoid treating python311+ differently from earlier versions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# In particular, avoid clobbering destroot.target and adding superfluous
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# dependencies.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.pep517       no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note that the new ffi-based Python client library doesn't work properly
</span> # on the Mac, so we use the old extension-based version.
 
 openssl.branch      3
 # NOTE: doesn't work with libressl
 
 depends_build-append port:bison port:pkgconfig
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib-append  port:python${python.version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#depends_lib-append  port:python${pyver_no_dot}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Consolidated patchfile, based on GitHub/fhgwwight/macports-releases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Consolidated patchfile, based on GitHub/fhgwright/macports-releases
</span> patchfiles          patch-allfixes.diff
 
 use_configure       yes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -68,6 +116,7 @@ configure.args      --alltests \
</span>                     --pyshebang=${python.bin} \
                     --pythondir=${python.pkgd} \
                     --pythonarchdir=${python.pkgd}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Make sure we use waf, not setup.py for build
 build.cmd           ${waf.python} ./waf
 destroot.cmd        ${build.cmd}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -75,6 +124,8 @@ destroot.cmd        ${build.cmd}
</span> # Although the normal build procedure includes the tests, we also allow
 # them separately so that "port test" works.
 test.run            yes
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Avoid unnecessary dependency on pyXX-test
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.test_framework
</span> # Override the python portgroup's inappropriate test.cmd
 test.cmd            ${build.cmd}
 test.target         check
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -111,6 +162,10 @@ post-destroot {
</span>     destroot.keepdirs \
         ${destroot}${prefix}/var/db \
         ${destroot}${prefix}/var/run
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # The install script inappropriately installs the runtests program
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # See https://gitlab.com/NTPsec/ntpsec/-/issues/786
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    delete "${destroot}${prefix}/bin/runtests"
</span> }
 post-activate {
     if {![file exists ${prefix}/etc/ntp.conf]} {
</pre><pre style='margin:0'>

</pre>