<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/533ab537fc08628b2a795e44c33ef5623b7279c5">https://github.com/macports/macports-ports/commit/533ab537fc08628b2a795e44c33ef5623b7279c5</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 533ab537fc0 python39: add python 3.9.0 final release
</span>533ab537fc0 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 533ab537fc08628b2a795e44c33ef5623b7279c5
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Wed Oct 7 04:42:27 2020 +1100

<span style='display:block; white-space:pre;color:#404040;'>    python39: add python 3.9.0 final release
</span>---
 lang/python39-devel/Portfile                       | 203 +--------------------
 lang/{python39-devel => python39}/Portfile         |  16 +-
 .../files/builtin_bswap16.diff                     |   0
 .../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-libedit.diff                       |   0
 .../files/patch-setup.py.diff                      |   0
 .../{python39-devel => python39}/files/pyconfig.ed |   0
 .../files/pyconfig.h-universal.ed                  |   0
 .../files/python-python39                          |   0
 .../files/python3-python39                         |   0
 python/py-gdbm/Portfile                            |  13 ++
 python/py-tkinter/Portfile                         |  12 ++
 15 files changed, 36 insertions(+), 208 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39-devel/Portfile b/lang/python39-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0a69d77cd55..48563f1d028 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python39-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python39-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,210 +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                python39-devel
<span style='display:block; white-space:pre;background:#e0ffe0;'>+replaced_by         python39
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Remember to keep py39-tkinter and py39-gdbm's versions sync'd with this
</span> version             3.9.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.9.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 3e34e48b479f4beec2c0c80fdbde52a2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 7c6eb3caa29c461804a9fdaf843f627c5039b9dd \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 80b57c11f60dc1f46a408b1543f04ed52e6475ed5e597b4c23f3fd65f0b729ba
</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-libedit.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;'>-                    builtin_bswap16.diff
</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-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;'>-
</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.9/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;'>-        system -W ${buildlibdir} "awk -F : \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            \"/'LINKFORSHARED'/ {printf \\\"%s: '-L${framewdir}/lib/python${branch}/${confdir}\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            -lpython${branch} -ldl -framework CoreFoundation',\\n\\\", \\\$1; getline; next} {print}\"\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            _sysconfigdata__darwin_darwin.py > _sysconfigdata__darwin_darwin.py.new"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        file rename -force ${buildlibdir}/_sysconfigdata__darwin_darwin.py.new \
</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;'>-        foreach arch ${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} eq "i386" || ${arch} eq "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;'>-            }
</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=\"${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;'>-        if {${arch_run_32bit} ne ""} {
</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=\"arch ${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;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${configure.sdkroot} ne ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --enable-universalsdk=${configure.sdkroot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --enable-universalsdk=/
</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;'>-        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} {
</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;'>-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 2021-10-07
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39-devel/Portfile b/lang/python39/Portfile
</span>similarity index 93%
copy from lang/python39-devel/Portfile
copy to lang/python39/Portfile
<span style='display:block; white-space:pre;color:#808080;'>index 0a69d77cd55..cf18975d777 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python39-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python39/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                python39-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                python39
</span> 
 # Remember to keep py39-tkinter and py39-gdbm's versions sync'd with this
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             3.9.0rc2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             3.9.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.9.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 3e34e48b479f4beec2c0c80fdbde52a2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160 7c6eb3caa29c461804a9fdaf843f627c5039b9dd \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 80b57c11f60dc1f46a408b1543f04ed52e6475ed5e597b4c23f3fd65f0b729ba
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           md5 6ebfe157f6e88d9eabfbaf3fa92129f6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 822fd1ea11f3ca303a08317f6db61f2a1e03e5ef \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 9c73e63c99855709b9be0b3cc9e5b072cb60f37311e8c4e50f15576a0bf82854
</span> 
 patchfiles          patch-setup.py.diff \
                     patch-Lib-cgi.py.diff \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -206,5 +205,4 @@ variant optimizations description {Compile with LTO and PGO. Build time greatly
</span> 
 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/python39-devel/files/builtin_bswap16.diff b/lang/python39/files/builtin_bswap16.diff
</span>similarity index 100%
rename from lang/python39-devel/files/builtin_bswap16.diff
rename to lang/python39/files/builtin_bswap16.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39-devel/files/patch-Lib-cgi.py.diff b/lang/python39/files/patch-Lib-cgi.py.diff
</span>similarity index 100%
rename from lang/python39-devel/files/patch-Lib-cgi.py.diff
rename to lang/python39/files/patch-Lib-cgi.py.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39-devel/files/patch-Lib-ctypes-macholib-dyld.py.diff b/lang/python39/files/patch-Lib-ctypes-macholib-dyld.py.diff
</span>similarity index 100%
rename from lang/python39-devel/files/patch-Lib-ctypes-macholib-dyld.py.diff
rename to lang/python39/files/patch-Lib-ctypes-macholib-dyld.py.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39-devel/files/patch-configure-xcode4bug.diff b/lang/python39/files/patch-configure-xcode4bug.diff
</span>similarity index 100%
rename from lang/python39-devel/files/patch-configure-xcode4bug.diff
rename to lang/python39/files/patch-configure-xcode4bug.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39-devel/files/patch-configure.diff b/lang/python39/files/patch-configure.diff
</span>similarity index 100%
rename from lang/python39-devel/files/patch-configure.diff
rename to lang/python39/files/patch-configure.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39-devel/files/patch-libedit.diff b/lang/python39/files/patch-libedit.diff
</span>similarity index 100%
rename from lang/python39-devel/files/patch-libedit.diff
rename to lang/python39/files/patch-libedit.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39-devel/files/patch-setup.py.diff b/lang/python39/files/patch-setup.py.diff
</span>similarity index 100%
rename from lang/python39-devel/files/patch-setup.py.diff
rename to lang/python39/files/patch-setup.py.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39-devel/files/pyconfig.ed b/lang/python39/files/pyconfig.ed
</span>similarity index 100%
rename from lang/python39-devel/files/pyconfig.ed
rename to lang/python39/files/pyconfig.ed
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39-devel/files/pyconfig.h-universal.ed b/lang/python39/files/pyconfig.h-universal.ed
</span>similarity index 100%
rename from lang/python39-devel/files/pyconfig.h-universal.ed
rename to lang/python39/files/pyconfig.h-universal.ed
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39-devel/files/python-python39 b/lang/python39/files/python-python39
</span>similarity index 100%
rename from lang/python39-devel/files/python-python39
rename to lang/python39/files/python-python39
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39-devel/files/python3-python39 b/lang/python39/files/python3-python39
</span>similarity index 100%
rename from lang/python39-devel/files/python3-python39
rename to lang/python39/files/python3-python39
<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 edcff2ee155..c7a44fc7274 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;'>@@ -135,6 +135,19 @@ subport py38-gdbm {
</span>     set extract_files "Modules/_gdbmmodule.c Modules/clinic/_gdbmmodule.c.h"
     livecheck.regex {Python (3\.8\.[0-9]+)}
 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+subport py39-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.9.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 6ebfe157f6e88d9eabfbaf3fa92129f6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    rmd160 822fd1ea11f3ca303a08317f6db61f2a1e03e5ef \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256 9c73e63c99855709b9be0b3cc9e5b072cb60f37311e8c4e50f15576a0bf82854
</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\.9\.[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 bbd58db7434..51135b106db 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;'>@@ -127,6 +127,18 @@ subport py38-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 py39-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.9.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 6ebfe157f6e88d9eabfbaf3fa92129f6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                rmd160 822fd1ea11f3ca303a08317f6db61f2a1e03e5ef \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256 9c73e63c99855709b9be0b3cc9e5b072cb60f37311e8c4e50f15576a0bf82854
</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>