<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/e244c3a08dd0bd8446028a31348618de078ac1c7">https://github.com/macports/macports-ports/commit/e244c3a08dd0bd8446028a31348618de078ac1c7</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit e244c3a08dd0bd8446028a31348618de078ac1c7
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sat Oct 9 16:45:15 2021 +1100

<span style='display:block; white-space:pre;color:#404040;'>    python310: stable release replacing python310-devel
</span>---
 lang/python310-devel/Portfile                      | 234 +--------------------
 lang/{python310-devel => python310}/Portfile       |  27 ++-
 .../files/patch-Lib-cgi.py.diff                    |   0
 .../files/patch-Lib-ctypes-macholib-dyld.py.diff   |   0
 .../files/patch-configure-xcode4bug.diff           |   0
 .../files/patch-configure.diff                     |   0
 .../files/patch-no-copyfile-on-Tiger.diff          |   0
 .../files/patch-setup.py.diff                      |   0
 .../files/patch-threadid-older-systems.diff        |   0
 .../files/pyconfig.ed                              |   0
 .../files/pyconfig.h-universal.ed                  |   0
 .../files/python-python310                         |   0
 .../files/python3-python310                        |   0
 .../files/sysconfig.py.patch                       |   0
 python/py-gdbm/Portfile                            |  13 ++
 python/py-tkinter/Portfile                         |  12 ++
 16 files changed, 46 insertions(+), 240 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310-devel/Portfile b/lang/python310-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5ee8de6c126..cd02a1454d1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python310-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python310-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,241 +1,15 @@
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           obsolete 1.0
</span> 
 name                python310-devel
<span style='display:block; white-space:pre;background:#e0ffe0;'>+replaced_by         python310
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Remember to keep py310-tkinter and py310-gdbm's versions sync'd with this
</span> version             3.10.0rc2
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set branch          [join [lrange [split ${version} .] 0 1] .]
</span> categories          lang
 license             PSF
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         {jmr @jmroot}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-description         An interpreted, object-oriented programming language
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description    Python is an interpreted, interactive, object-oriented \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    programming language.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            https://www.python.org/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#master_sites        ${homepage}ftp/python/${version}/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        ${homepage}ftp/python/3.10.0/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname            Python-${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-use_xz              yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           md5 d3bfe8004516dd5b2afc649ff94be965 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 d8eba226e585c23a7dc64ddd997494d7a419b803 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 e75b56088548b7b9ad1f2571e6f5a2315e4808cb6b5fbe8288502afc802b2f24
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          patch-setup.py.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-Lib-cgi.py.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-configure.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-Lib-ctypes-macholib-dyld.py.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-configure-xcode4bug.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sysconfig.py.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.platform} eq "darwin" && ${os.major} < 10} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # work around no copyfile and/or pthread_threadid_np on older systems
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-append  patch-no-copyfile-on-Tiger.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                       patch-threadid-older-systems.diff
</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;background:#ffe0e0;'>-depends_build       port:pkgconfig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib         port:bzip2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:expat \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:gettext \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:libedit \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:libffi \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:ncurses \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    path:lib/libssl.dylib:openssl \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:sqlite3 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:xz \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:zlib
</span><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:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# blacklist llvm-gcc-4.2 compiler known to produce bad code
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append *llvm-gcc-4.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# ensurepip arg may be removed later, now conflicts with pip and setuptools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# packages
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args      --enable-framework=${frameworks_dir} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --enable-ipv6 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --enable-loadable-sqlite-extensions \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-computed-gotos \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-ensurepip=no \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-readline=editline \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-system-expat \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-system-ffi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.ccache    no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# pkg-config removes -I flags for paths in CPATH, which confuses python.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.env       PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s|@@PREFIX@@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      ${worksrcpath}/Lib/cgi.py \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      ${worksrcpath}/Lib/ctypes/macholib/dyld.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s|/setup.py|/setup.py --no-user-cfg|" ${worksrcpath}/Makefile.pre.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # replace /Applications with ${applications_dir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s|@@APPLICATIONS_DIR@@|${applications_dir}|" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      ${worksrcpath}/configure
</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;background:#ffe0e0;'>-build.target        all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.run            yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-test.target         test
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.target     frameworkinstall maninstall
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><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><span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set framewpath  ${frameworks_dir}/Python.framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set framewdir   ${framewpath}/Versions/${branch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set confdir     config-${branch}-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # poll() misbehaves on 10.8 and older
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # See https://trac.macports.org/ticket/18376
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.major} <= 12} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${worksrcpath} "ed - pyconfig.h < ${filespath}/pyconfig.ed"
</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;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-build {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set buildlibdir [lindex [glob -directory ${worksrcpath}/build lib.*-*-*-${branch}] 0]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # preserve mtime of sysconfig data file to avoid rebuilding things after changing it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set oldmtime [file mtime ${buildlibdir}/_sysconfigdata__darwin_darwin.py]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Without this, LINKFORSHARED is set to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # ... $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # (this becomes Python.framework/Versions/3.10/Python) which doesn't
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # work for dependents that incorrectly use this variable to find out
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # how to link against python (see ticket #15099); instead we mirror
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # the behavior of `python-config --ldflags` here.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set lfs_pattern {^([[:space:]]*'LINKFORSHARED':).*}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set lfs_replacement "\\1 '-L${framewdir}/lib/python${branch}/${confdir} -lpython${branch} -ldl -framework CoreFoundation',"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -E s|${lfs_pattern}|${lfs_replacement}| \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${buildlibdir}/_sysconfigdata__darwin_darwin.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # remove -arch flags from the config
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -E {s|-arch [a-z0-9_]+||g} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${buildlibdir}/_sysconfigdata__darwin_darwin.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # also remove gettext overlinking
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|-lintl||" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${buildlibdir}/_sysconfigdata__darwin_darwin.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file mtime ${buildlibdir}/_sysconfigdata__darwin_darwin.py $oldmtime
</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;background:#ffe0e0;'>-    post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach dir { Headers Resources Python Versions/Current } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            file delete ${destroot}${framewpath}/${dir}
</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;background:#ffe0e0;'>-        ln -s ${framewdir}/share/man/man1/python${branch}.1 ${destroot}${prefix}/share/man/man1/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${framewdir}/lib/pkgconfig/python-${branch}.pc ${destroot}${prefix}/lib/pkgconfig/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ln -s ${framewdir}/lib/pkgconfig/python-${branch}-embed.pc ${destroot}${prefix}/lib/pkgconfig/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Also make the sysconfig changes in the Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace {s|^\(LINKFORSHARED=\).*$|\1 -L$(LIBPL) -lpython$(VERSION)$(ABIFLAGS) $(LIBS) $(SYSLIBS)|} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${destroot}${framewdir}/lib/python${branch}/${confdir}/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -E {s|-arch [a-z0-9_]+||g} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           ${destroot}${framewdir}/lib/python${branch}/${confdir}/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|-lintl||" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           ${destroot}${framewdir}/lib/python${branch}/${confdir}/Makefile
</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;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach unversioned {2to3 idle3 pydoc3 python3 python3-config} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        delete ${destroot}${prefix}/bin/${unversioned}
</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;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-notes "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-To make this the default Python or Python 3 (i.e., the version run by\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the 'python' or 'python3' commands), run one or both of:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><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:#ffe0e0;'>-"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant universal {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set universal_arch_flags {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set arch_run_32bit {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set lipo_32bit_flags {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set lipo_intel64_flags {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set any64 no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach arch ${configure.universal_archs} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            lappend universal_arch_flags -arch ${arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {${arch} in {i386 ppc}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                lappend arch_run_32bit -${arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                lappend lipo_32bit_flags -extract ${arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                set any64 yes
</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;background:#ffe0e0;'>-        if {$any64} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {$arch_run_32bit eq ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                set arch_run_32bit true
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                set lipo_32bit_flags ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                set arch_run_32bit "/usr/bin/arch $arch_run_32bit"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                #lipo_32bit_flags already correct
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {"arm64" in ${configure.universal_archs} && "x86_64" in ${configure.universal_archs}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                set lipo_intel64_flags "-extract x86_64"
</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;'>-            set arch_run_32bit ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set lipo_32bit_flags ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "s|@@UNIVERSAL_ARCH_FLAGS@@|${universal_arch_flags}|" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "s|@@LIPO_32BIT_FLAGS@@|${lipo_32bit_flags}|" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "s|@@LIPO_INTEL64_FLAGS@@|${lipo_intel64_flags}|" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "s|@@ARCH_RUN_32BIT@@|${arch_run_32bit}|" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   --enable-universalsdk=${configure.sysroot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system -W ${worksrcpath} "ed - pyconfig.h < ${filespath}/pyconfig.h-universal.ed"
</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;background:#ffe0e0;'>-    post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach unversioned {python3-32 python3-intel64} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            delete ${destroot}${prefix}/bin/${unversioned}
</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;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant optimizations description {Compile with LTO and PGO. Build time greatly increased} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   --enable-optimizations
</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;background:#ffe0e0;'>-variant dtrace description {enable DTrace support} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   --with-dtrace
</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;background:#ffe0e0;'>-livecheck.type      regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.url       ${homepage}downloads/source/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#livecheck.regex     Python (${branch}\[.0-9\]+) -
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex     Python (${branch}\[.0-9abrc\]+) -
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Can be removed after 2022-10-09
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310-devel/Portfile b/lang/python310/Portfile
</span>similarity index 92%
copy from lang/python310-devel/Portfile
copy to lang/python310/Portfile
<span style='display:block; white-space:pre;color:#808080;'>index 5ee8de6c126..c4544fa5f47 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python310-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python310/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,10 +3,10 @@
</span> PortSystem 1.0
 PortGroup select 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-name                python310-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                python310
</span> 
 # Remember to keep py310-tkinter and py310-gdbm's versions sync'd with this
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             3.10.0rc2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             3.10.0
</span> 
 set branch          [join [lrange [split ${version} .] 0 1] .]
 categories          lang
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -19,14 +19,13 @@ long_description    Python is an interpreted, interactive, object-oriented \
</span>                     programming language.
 
 homepage            https://www.python.org/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#master_sites        ${homepage}ftp/python/${version}/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        ${homepage}ftp/python/3.10.0/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        ${homepage}ftp/python/${version}/
</span> 
 distname            Python-${version}
 use_xz              yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           md5 d3bfe8004516dd5b2afc649ff94be965 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 d8eba226e585c23a7dc64ddd997494d7a419b803 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 e75b56088548b7b9ad1f2571e6f5a2315e4808cb6b5fbe8288502afc802b2f24
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           md5 3e7035d272680f80e3ce4e8eb492d580 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 5cae2a14ca2d88278b487acb55488d288f474bd8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 5a99f8e7a6a11a7b98b4e75e0d1303d3832cada5534068f69c7b6222a7b1b002
</span> 
 patchfiles          patch-setup.py.diff \
                     patch-Lib-cgi.py.diff \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -227,15 +226,23 @@ variant universal {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant optimizations description {Compile with LTO and PGO. Build time greatly increased} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant optimizations description {enable expensive, stable optimizations (including PGO)} {
</span>     configure.args-append   --enable-optimizations
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+variant lto description {enable Link-Time Optimization} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-lto
</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;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # todo: disable on platforms where they fail
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants +lto +optimizations
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> variant dtrace description {enable DTrace support} {
     configure.args-append   --with-dtrace
 }
 
 livecheck.type      regex
 livecheck.url       ${homepage}downloads/source/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#livecheck.regex     Python (${branch}\[.0-9\]+) -
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex     Python (${branch}\[.0-9abrc\]+) -
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex     Python (${branch}\[.0-9\]+) -
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310-devel/files/patch-Lib-cgi.py.diff b/lang/python310/files/patch-Lib-cgi.py.diff
</span>similarity index 100%
rename from lang/python310-devel/files/patch-Lib-cgi.py.diff
rename to lang/python310/files/patch-Lib-cgi.py.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310-devel/files/patch-Lib-ctypes-macholib-dyld.py.diff b/lang/python310/files/patch-Lib-ctypes-macholib-dyld.py.diff
</span>similarity index 100%
rename from lang/python310-devel/files/patch-Lib-ctypes-macholib-dyld.py.diff
rename to lang/python310/files/patch-Lib-ctypes-macholib-dyld.py.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310-devel/files/patch-configure-xcode4bug.diff b/lang/python310/files/patch-configure-xcode4bug.diff
</span>similarity index 100%
rename from lang/python310-devel/files/patch-configure-xcode4bug.diff
rename to lang/python310/files/patch-configure-xcode4bug.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310-devel/files/patch-configure.diff b/lang/python310/files/patch-configure.diff
</span>similarity index 100%
rename from lang/python310-devel/files/patch-configure.diff
rename to lang/python310/files/patch-configure.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310-devel/files/patch-no-copyfile-on-Tiger.diff b/lang/python310/files/patch-no-copyfile-on-Tiger.diff
</span>similarity index 100%
rename from lang/python310-devel/files/patch-no-copyfile-on-Tiger.diff
rename to lang/python310/files/patch-no-copyfile-on-Tiger.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310-devel/files/patch-setup.py.diff b/lang/python310/files/patch-setup.py.diff
</span>similarity index 100%
rename from lang/python310-devel/files/patch-setup.py.diff
rename to lang/python310/files/patch-setup.py.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310-devel/files/patch-threadid-older-systems.diff b/lang/python310/files/patch-threadid-older-systems.diff
</span>similarity index 100%
rename from lang/python310-devel/files/patch-threadid-older-systems.diff
rename to lang/python310/files/patch-threadid-older-systems.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310-devel/files/pyconfig.ed b/lang/python310/files/pyconfig.ed
</span>similarity index 100%
rename from lang/python310-devel/files/pyconfig.ed
rename to lang/python310/files/pyconfig.ed
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310-devel/files/pyconfig.h-universal.ed b/lang/python310/files/pyconfig.h-universal.ed
</span>similarity index 100%
rename from lang/python310-devel/files/pyconfig.h-universal.ed
rename to lang/python310/files/pyconfig.h-universal.ed
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310-devel/files/python-python310 b/lang/python310/files/python-python310
</span>similarity index 100%
rename from lang/python310-devel/files/python-python310
rename to lang/python310/files/python-python310
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310-devel/files/python3-python310 b/lang/python310/files/python3-python310
</span>similarity index 100%
rename from lang/python310-devel/files/python3-python310
rename to lang/python310/files/python3-python310
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310-devel/files/sysconfig.py.patch b/lang/python310/files/sysconfig.py.patch
</span>similarity index 100%
rename from lang/python310-devel/files/sysconfig.py.patch
rename to lang/python310/files/sysconfig.py.patch
<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 6425bf8a5c5..e27255d22c9 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;'>@@ -147,6 +147,19 @@ subport py39-gdbm {
</span>     set extract_files "Modules/_gdbmmodule.c Modules/clinic/_gdbmmodule.c.h"
     livecheck.regex {Python (3\.9\.[0-9]+)}
 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+subport py310-gdbm {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    maintainers     {jmr @jmroot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version         3.10.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision        0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    homepage        https://docs.python.org/release/${version}/library/dbm.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    use_xz                 yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums       md5 3e7035d272680f80e3ce4e8eb492d580 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 5cae2a14ca2d88278b487acb55488d288f474bd8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 5a99f8e7a6a11a7b98b4e75e0d1303d3832cada5534068f69c7b6222a7b1b002
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set setup_py "setup-py3k.py"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set extract_files "Modules/_gdbmmodule.c Modules/clinic/_gdbmmodule.c.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.regex {Python (3\.10\.[0-9]+)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 
 distname               Python-${version}
<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 01f8c853969..e810bc8dacd 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;'>@@ -138,6 +138,18 @@ subport py39-tkinter {
</span>     append extract_files " Modules/tkinter.h Modules/clinic/_tkinter.c.h"
     set module_name tkinter
 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+subport py310-tkinter {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    maintainers {jmr @jmroot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version     3.10.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision    0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    homepage    https://docs.python.org/release/${version}/library/tkinter.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    use_xz      yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums   md5 3e7035d272680f80e3ce4e8eb492d580 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                rmd160 5cae2a14ca2d88278b487acb55488d288f474bd8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256 5a99f8e7a6a11a7b98b4e75e0d1303d3832cada5534068f69c7b6222a7b1b002
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    append extract_files " Modules/tkinter.h Modules/clinic/_tkinter.c.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set module_name tkinter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 master_sites    https://www.python.org/ftp/python/${version}/
 distname        Python-${version}
</pre><pre style='margin:0'>

</pre>