<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/1292d39c90e8dc77473ff42ed1e0a0aada113ebc">https://github.com/macports/macports-ports/commit/1292d39c90e8dc77473ff42ed1e0a0aada113ebc</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 1292d39c90e python311: update to 3.11.7
</span>1292d39c90e is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 1292d39c90e8dc77473ff42ed1e0a0aada113ebc
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sat Dec 9 16:56:58 2023 +1100

<span style='display:block; white-space:pre;color:#404040;'>    python311: update to 3.11.7
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Also move select files to subports of python_select and python3_select,
</span><span style='display:block; white-space:pre;color:#404040;'>    so they can be updated without rev bumping all of python311.
</span>---
 lang/python311/Portfile                            |  24 ++---
 lang/python311/files/libedit-types.patch           |  15 ---
 python/py-gdbm/Portfile                            |   8 +-
 python/py-tkinter/Portfile                         |   8 +-
 sysutils/python3_select/Portfile                   |  58 +++++++++---
 .../python3_select/files/python311                 |   0
 sysutils/python_select/Portfile                    | 101 +++++++++++++--------
 .../python_select/files/python311                  |   0
 8 files changed, 125 insertions(+), 89 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python311/Portfile b/lang/python311/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8beef9c4a7e..e593faad592 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python311/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python311/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,12 +1,11 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup select 1.0
</span> 
 name                python311
 
 # Remember to keep py311-tkinter and py311-gdbm's versions sync'd with this
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             3.11.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             3.11.7
</span> 
 set branch          [join [lrange [split ${version} .] 0 1] .]
 categories          lang
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -22,16 +21,15 @@ master_sites        ${homepage}ftp/python/${version}/
</span> 
 distname            Python-${version}
 use_xz              yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           md5 d0c5a1a31efe879723e51addf56dd206 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 bddcce2b2f737ba1df6d727eb0311a9a180dd8ce \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 0fab78fa7f133f4f38210c6260d90d7c0d5c7198446419ce057ec7ac2e6f5f38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           md5 d96c7e134c35a8c46236f8a0e566b69c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 c14fc2641f085ac98b26502bbdcdc3e7131fb979 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 18e1aa7e66ff3a58423d59ed22815a6954e53342122c45df20c96877c062b9b7
</span> 
 patchfiles          patch-setup.py.diff \
                     patch-Lib-cgi.py.diff \
                     patch-configure.diff \
                     patch-Lib-ctypes-macholib-dyld.py.diff \
                     sysconfig.py.patch \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    libedit-types.patch \
</span>                     configure-disable-libb2.patch \
                     configure-disable-libuuid.patch
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -60,8 +58,10 @@ depends_lib         port:bzip2 \
</span>                     port:sqlite3 \
                     port:xz \
                     port:zlib
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_run         port:python_select \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:python3_select
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set pythonVerNoDot  [string map {. {}} $branch]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_run         port:python_select-${pythonVerNoDot} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:python3_select-${pythonVerNoDot}
</span> 
 compiler.c_standard 2011
 # clang 15+ depend on python311, avoid circular dep
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -104,10 +104,6 @@ test.target         test
</span> 
 destroot.target     frameworkinstall maninstall
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set pythonNoDot python[string map {. {}} $branch]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-select.entries      [list python python-$pythonNoDot $pythonNoDot] \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    [list python3 python3-$pythonNoDot $pythonNoDot]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> platform darwin {
     set framewpath  ${frameworks_dir}/Python.framework
     set framewdir   ${framewpath}/Versions/${branch}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -180,8 +176,8 @@ notes "
</span> To make this the default Python or Python 3 (i.e., the version run by\
 the 'python' or 'python3' commands), run one or both of:
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    sudo port select --set python $pythonNoDot
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    sudo port select --set python3 $pythonNoDot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    sudo port select --set python python$pythonVerNoDot
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    sudo port select --set python3 python$pythonVerNoDot
</span> "
 
 variant universal {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python311/files/libedit-types.patch b/lang/python311/files/libedit-types.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 3ea7625570b..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python311/files/libedit-types.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,15 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Modules/readline.c.orig        2023-09-06 07:57:19
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Modules/readline.c     2023-09-10 01:43:53
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -442,12 +442,8 @@ readline_set_completion_display_matches_hook_impl(PyOb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        default completion display. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     rl_completion_display_matches_hook =
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         readlinestate_global->completion_display_matches_hook ?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if defined(_RL_FUNCTION_TYPEDEF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         (rl_compdisp_func_t *)on_completion_display_matches_hook : 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        (VFunction *)on_completion_display_matches_hook : 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return result;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-gdbm/Portfile b/python/py-gdbm/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f44285b4ba7..e00d9e15ab0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-gdbm/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-gdbm/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -134,12 +134,12 @@ subport py310-gdbm {
</span> }
 subport py311-gdbm {
     maintainers     {jmr @jmroot}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    version         3.11.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version         3.11.7
</span>     revision        0
     homepage        https://docs.python.org/release/${version}/library/dbm.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums       md5 d0c5a1a31efe879723e51addf56dd206 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 bddcce2b2f737ba1df6d727eb0311a9a180dd8ce \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 0fab78fa7f133f4f38210c6260d90d7c0d5c7198446419ce057ec7ac2e6f5f38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums       md5 d96c7e134c35a8c46236f8a0e566b69c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 c14fc2641f085ac98b26502bbdcdc3e7131fb979 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 18e1aa7e66ff3a58423d59ed22815a6954e53342122c45df20c96877c062b9b7
</span>     livecheck.regex {Python (3\.11\.[0-9]+)}
 }
 subport py312-gdbm {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-tkinter/Portfile b/python/py-tkinter/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b2ab5344b25..7f5ed581096 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-tkinter/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-tkinter/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,12 +125,12 @@ subport py310-tkinter {
</span> }
 subport py311-tkinter {
     maintainers {jmr @jmroot}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    version     3.11.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version     3.11.7
</span>     revision    0
     homepage    https://docs.python.org/release/${version}/library/tkinter.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums   md5 d0c5a1a31efe879723e51addf56dd206 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                rmd160 bddcce2b2f737ba1df6d727eb0311a9a180dd8ce \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                sha256 0fab78fa7f133f4f38210c6260d90d7c0d5c7198446419ce057ec7ac2e6f5f38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums   md5 d96c7e134c35a8c46236f8a0e566b69c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                rmd160 c14fc2641f085ac98b26502bbdcdc3e7131fb979 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256 18e1aa7e66ff3a58423d59ed22815a6954e53342122c45df20c96877c062b9b7
</span> }
 subport py312-tkinter {
     maintainers {jmr @jmroot}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/python3_select/Portfile b/sysutils/python3_select/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 76fd6588ad9..fe57515b179 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/python3_select/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/python3_select/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,39 +1,67 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           stub 1.0
</span> PortGroup           select 1.0
 
 name                python3_select
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             0.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             0.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> categories          sysutils
 supported_archs     noarch
 configure.cxx_stdlib
<span style='display:block; white-space:pre;background:#e0ffe0;'>+license             BSD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> description         Common files for selecting default Python 3 version
 long_description    This port installs files that allow 'port select' \
                     to create links to the preferred default version \
                     of Python 3.
<span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://www.macports.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_configure       no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build               {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot            {}
</span> 
 # Documentation for Python 3 ports:
 #   PortGroup       select 1.0
 #   set pythonNoDot python[string map {. {}} $branch]
 #   select.entries  [list python3 python3-$pythonNoDot $pythonNoDot]
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-select.entries      {python3 base} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    {python3 none}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {$subport eq $name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    select.entries      {python3 base} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        {python3 none}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set apple_pythons [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${os.major} == 19} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                list python37-apple \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     python38-apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } elseif {${os.major} == 20} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                list python38-apple
</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 python $apple_pythons {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            select.entries-append [list python3 {*}$python]
</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:#ffe0e0;'>-platform darwin {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set apple_pythons [
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} == 19} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            list python37-apple \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 python38-apple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } elseif {${os.major} == 20} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            list python38-apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach p [list 311] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    subport python3_select-${p} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set pyver $p
</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 {$subport ne $name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision    0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    platforms   any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run port:python3_select
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    select.entries  [list python3 python${pyver} ${pyver}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pre-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[file exists ${prefix}/etc/select/python3/python${pyver}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             && [registry_file_registered ${prefix}/etc/select/python3/python${pyver}] eq "python${pyver}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            registry_deactivate_composite python${pyver} "" [list ports_nodepcheck 1]
</span>         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    ]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach python $apple_pythons {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        select.entries-append [list python3 {*}$python]
</span>     }
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python311/files/python3-python311 b/sysutils/python3_select/files/python311
</span>similarity index 100%
rename from lang/python311/files/python3-python311
rename to sysutils/python3_select/files/python311
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/python_select/Portfile b/sysutils/python_select/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 48fc96ed775..adfc0f4f577 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/python_select/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/python_select/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,7 +1,6 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           stub 1.0
</span> PortGroup           select 1.0
 
 name                python_select
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,53 +9,81 @@ revision            10
</span> categories          sysutils
 supported_archs     noarch
 configure.cxx_stdlib
<span style='display:block; white-space:pre;background:#e0ffe0;'>+license             BSD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         nomaintainer
</span> description         Common files for selecting default Python version
 long_description    This port installs files that allow 'port select' \
                     to create links to the preferred default version \
                     of Python.
<span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://www.macports.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_configure       no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build               {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot            {}
</span> 
 # Documentation for Python ports:
 #   PortGroup       select 1.0
 #   select.group    python
 #   select.file     ${filespath}/python[string map {. {}} ${branch}]
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# install all files
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-select.entries      {python base} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    {python none}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set apple_pythons [
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} == 8} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            list python23-apple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } elseif {${os.major} == 9} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            list python25-apple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } elseif {${os.major} == 10} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            list python25-apple \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 python26-apple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } elseif {${os.major} == 11} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            list python25-apple \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 python26-apple \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 python27-apple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } elseif {${os.major} == 12 || ${os.major} == 13} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            list {python25-apple.mtln python25-apple} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 {python26-apple.mtln python26-apple} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 {python27-apple.mtln python27-apple}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } elseif {${os.major} == 14 || ${os.major} == 15 || ${os.major} == 16} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            list {python26-apple.mtln python26-apple} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 {python27-apple.mtln python27-apple}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } elseif {${os.major} == 17 || ${os.major} == 18} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            list {python27-apple.mtln python27-apple}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } elseif {${os.major} == 19} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            list {python27-apple.mtln python27-apple} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 python37-apple \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 python38-apple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } elseif {${os.major} == 20} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            list {python27-apple.mtln python27-apple} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 python38-apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {$subport eq $name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # install all files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    select.entries      {python base} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        {python none}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set apple_pythons [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${os.major} == 8} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                list python23-apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } elseif {${os.major} == 9} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                list python25-apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } elseif {${os.major} == 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                list python25-apple \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     python26-apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } elseif {${os.major} == 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                list python25-apple \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     python26-apple \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     python27-apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } elseif {${os.major} == 12 || ${os.major} == 13} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                list {python25-apple.mtln python25-apple} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     {python26-apple.mtln python26-apple} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     {python27-apple.mtln python27-apple}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } elseif {${os.major} == 14 || ${os.major} == 15 || ${os.major} == 16} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                list {python26-apple.mtln python26-apple} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     {python27-apple.mtln python27-apple}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } elseif {${os.major} == 17 || ${os.major} == 18} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                list {python27-apple.mtln python27-apple}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } elseif {${os.major} == 19} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                list {python27-apple.mtln python27-apple} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     python37-apple \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     python38-apple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } elseif {${os.major} == 20} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                list {python27-apple.mtln python27-apple} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     python38-apple
</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 python $apple_pythons {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            select.entries-append [list python {*}$python]
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach p [list 311] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    subport python_select-${p} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set pyver $p
</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 {$subport ne $name} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision    0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    platforms   any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run port:python_select
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    select.entries  [list python python${pyver} ${pyver}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pre-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[file exists ${prefix}/etc/select/python/python${pyver}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             && [registry_file_registered ${prefix}/etc/select/python/python${pyver}] eq "python${pyver}"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            registry_deactivate_composite python${pyver} "" [list ports_nodepcheck 1]
</span>         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    ]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach python $apple_pythons {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        select.entries-append [list python {*}$python]
</span>     }
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python311/files/python-python311 b/sysutils/python_select/files/python311
</span>similarity index 100%
rename from lang/python311/files/python-python311
rename to sysutils/python_select/files/python311
</pre><pre style='margin:0'>

</pre>