<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/03fd9ff75107ebb4d664b0d51fbb40d00a5c8be5">https://github.com/macports/macports-ports/commit/03fd9ff75107ebb4d664b0d51fbb40d00a5c8be5</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 03fd9ff7510 python310: update to 3.10.8
</span>03fd9ff7510 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 03fd9ff75107ebb4d664b0d51fbb40d00a5c8be5
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Wed Oct 12 13:15:48 2022 +1100
<span style='display:block; white-space:pre;color:#404040;'> python310: update to 3.10.8
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Build gdbm and tkinter extensions with PEP517, and install them to
</span><span style='display:block; white-space:pre;color:#404040;'> lib-dynload.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Fixes: https://trac.macports.org/ticket/59147
</span>---
lang/python310/Portfile | 8 +--
python/py-gdbm/Portfile | 86 +++++++++++++++----------------
python/py-gdbm/files/pyproject.toml | 12 +++++
python/py-gdbm/files/setup-pep517.py | 13 +++++
python/py-tkinter/Portfile | 89 +++++++++++++++++----------------
python/py-tkinter/files/pyproject.toml | 12 +++++
python/py-tkinter/files/setup-pep517.py | 16 ++++++
7 files changed, 147 insertions(+), 89 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python310/Portfile b/lang/python310/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 93ca7c24598..b3577ec5fbf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python310/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;'>@@ -7,7 +7,7 @@ PortGroup clang_dependency 1.0
</span> name python310
# 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.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 3.10.8
</span>
set branch [join [lrange [split ${version} .] 0 1] .]
categories lang
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,9 +23,9 @@ master_sites ${homepage}ftp/python/${version}/
</span>
distname Python-${version}
use_xz yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums md5 b8094f007b3a835ca3be6bdf8116cccc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 15cea01c9fa3fe2f60ac6f7ba67b6c04072f5c72 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 6eed8415b7516fb2f260906db5d48dd4c06acc0cb24a7d6cc15296a604dcdc48
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums md5 e92356b012ed4d0e09675131d39b1bde \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 e798facc3419b78c1eb980a2e63a9ec5e9cc586b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 6a30ecde59c47048013eb5a658c9b5dec277203d2793667f578df7671f7f03f3
</span>
patchfiles patch-setup.py.diff \
patch-Lib-cgi.py.diff \
<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 01a57431fcd..fec1ef7a098 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;'>@@ -14,29 +14,28 @@ long_description ${description}
</span>
homepage https://docs.python.org/2/library/gdbm.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions 26 27 32 33 34 35 36 37 38 39
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set setup_py "setup.py"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set extract_files "Modules/gdbmmodule.c"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions 26 27 32 33 34 35 36 37 38 39 310
</span>
subport py26-gdbm {
maintainers {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
version 2.6.9
revision 2
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 933a811f11e3db3d73ae492f6c3a7a76 \
rmd160 42edf7c9f2f64b77ab173de30ea453257c2c06b3 \
sha256 cae7bb995006ea5b703d9d28446f694894c441fe4bfb95d561c0ac908cd06e41
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ set setup_files [list setup.py]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set extract_files [list Modules/gdbmmodule.c]
</span> livecheck.regex {Python (2\.6\.[0-9]+)}
}
subport py27-gdbm {
maintainers {jmr @jmroot} openmaintainer
version 2.7.18
revision 0
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 fd6cc8ec0a78c44036f825e739f36e5a \
rmd160 40a514bb05c9e631454ea8466e28f5bb229428ad \
sha256 b62c0e7937551d0cc02b8fd5cb0f544f9405bafc9a54d3808ed4594812edef43
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ set setup_files [list setup.py]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set extract_files [list Modules/gdbmmodule.c]
</span> livecheck.regex {Python (2\.7\.[0-9]+)}
}
subport py32-gdbm {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -44,12 +43,9 @@ subport py32-gdbm {
</span> version 3.2.6
revision 2
homepage https://docs.python.org/release/${version}/library/dbm.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 e0ba4360dfcb4aec735e666cc0ae7b0e \
rmd160 f3f5877cd3ac03151f161353e808a38204f1270d \
sha256 1d12b501819fd26afafbf8459be1aa279b56f032b4c15412de0a713ce0de7bdc
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set setup_py "setup-py3k.py"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set extract_files "Modules/_gdbmmodule.c"
</span> livecheck.regex {Python (3\.2\.[0-9]+)}
}
subport py33-gdbm {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -58,12 +54,9 @@ subport py33-gdbm {
</span> epoch 20141012
revision 2
homepage https://docs.python.org/release/${version}/library/dbm.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 84e2f12f044ca53b577f6224c53f82ac \
rmd160 3a915ea86ef3826fc0483eb94a2b4e2b9ad787b1 \
sha256 85f60c327501c36bc18c33370c14d472801e6af2f901dafbba056f61685429fe
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set setup_py "setup-py3k.py"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set extract_files "Modules/_gdbmmodule.c"
</span> livecheck.regex {Python (3\.3\.[0-9]+)}
}
subport py34-gdbm {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -72,12 +65,9 @@ subport py34-gdbm {
</span> version 3.4.10
revision 0
homepage https://docs.python.org/release/${version}/library/dbm.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 f88a98bce17a03c43a6a5f8a66ab2e62 \
rmd160 050bb8f215d9b5ed8287b2a9f9faa6448d7513a5 \
sha256 d46a8f6fe91679e199c671b1b0a30aaf172d2acb5bcab25beb35f16c3d195b4e
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set setup_py "setup-py3k.py"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set extract_files "Modules/_gdbmmodule.c"
</span> livecheck.regex {Python (3\.4\.[0-9]+)}
}
subport py35-gdbm {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -86,12 +76,9 @@ subport py35-gdbm {
</span> version 3.5.10
revision 0
homepage https://docs.python.org/release/${version}/library/dbm.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 75c9c268703654aa6f6f2ae67303dde4 \
rmd160 5ec7da2d568f963a81b78433bf72ed1ad9e87292 \
sha256 0f0fa8685c1dc1f1dacb0b4e7779796b90aef99dc1fa4967a71b9da7b57d4a28
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set setup_py "setup-py3k.py"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set extract_files "Modules/_gdbmmodule.c Modules/clinic/_gdbmmodule.c.h"
</span> livecheck.regex {Python (3\.5\.[0-9]+)}
}
subport py36-gdbm {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -100,12 +87,9 @@ subport py36-gdbm {
</span> version 3.6.15
revision 0
homepage https://docs.python.org/release/${version}/library/dbm.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 bc04aa6c2a1a172a35012abd668538cd \
rmd160 eb84f49be5de3e2cc93059b9e90d3d42c971a90f \
sha256 6e28d7cdd6dd513dd190e49bca3972e20fcf455090ccf2ef3f1a227614135d91
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set setup_py "setup-py3k.py"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set extract_files "Modules/_gdbmmodule.c Modules/clinic/_gdbmmodule.c.h"
</span> livecheck.regex {Python (3\.6\.[0-9]+)}
}
subport py37-gdbm {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -113,12 +97,9 @@ subport py37-gdbm {
</span> version 3.7.14
revision 0
homepage https://docs.python.org/release/${version}/library/dbm.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 0acdd6e1a95f49ee7f9b338fb6092b65 \
rmd160 487f1741e42c4f2132dc13468c9d02767e8b9c71 \
sha256 4157ae31eb81af19e81c36882610491b0fb8f50e00fa8a17b095c88908b9c45c
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set setup_py "setup-py3k.py"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set extract_files "Modules/_gdbmmodule.c Modules/clinic/_gdbmmodule.c.h"
</span> livecheck.regex {Python (3\.7\.[0-9]+)}
}
subport py38-gdbm {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -126,12 +107,9 @@ subport py38-gdbm {
</span> version 3.8.14
revision 0
homepage https://docs.python.org/release/${version}/library/dbm.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 78710eed185b71f4198d354502ff62c9 \
rmd160 66936ea9c98e7a00fb23d44010ee3ee26ee37ea5 \
sha256 5d77e278271ba803e9909a41a4f3baca006181c93ada682a5e5fe8dc4a24c5f3
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set setup_py "setup-py3k.py"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set extract_files "Modules/_gdbmmodule.c Modules/clinic/_gdbmmodule.c.h"
</span> livecheck.regex {Python (3\.8\.[0-9]+)}
}
subport py39-gdbm {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -139,25 +117,19 @@ subport py39-gdbm {
</span> version 3.9.14
revision 0
homepage https://docs.python.org/release/${version}/library/dbm.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 81cbab3acbc7771f71491b52206d9b6a \
rmd160 89c35a6e272853b5a5e30cf87c3fdeedf826997f \
sha256 651304d216c8203fe0adf1a80af472d8e92c3b0e0a7892222ae4d9f3ae4debcf
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set setup_py "setup-py3k.py"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set extract_files "Modules/_gdbmmodule.c Modules/clinic/_gdbmmodule.c.h"
</span> livecheck.regex {Python (3\.9\.[0-9]+)}
}
subport py310-gdbm {
maintainers {jmr @jmroot}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- version 3.10.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ version 3.10.8
</span> revision 0
homepage https://docs.python.org/release/${version}/library/dbm.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- checksums md5 b8094f007b3a835ca3be6bdf8116cccc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 15cea01c9fa3fe2f60ac6f7ba67b6c04072f5c72 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 6eed8415b7516fb2f260906db5d48dd4c06acc0cb24a7d6cc15296a604dcdc48
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set setup_py "setup-py3k.py"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set extract_files "Modules/_gdbmmodule.c Modules/clinic/_gdbmmodule.c.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums md5 e92356b012ed4d0e09675131d39b1bde \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 e798facc3419b78c1eb980a2e63a9ec5e9cc586b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 6a30ecde59c47048013eb5a658c9b5dec277203d2793667f578df7671f7f03f3
</span> livecheck.regex {Python (3\.10\.[0-9]+)}
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -168,23 +140,53 @@ master_sites https://www.python.org/ftp/python/${version}/
</span> livecheck.type none
if {${name} ne ${subport}} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ use_xz yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_lib-append port:gdbm
dist_subdir python${python.version}
worksrcdir ${worksrcdir}/Modules
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${python.version} >= 310} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ python.pep517 yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set setup_files [list pyproject.toml setup-pep517.py]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d ${destroot}${python.libdir}/lib-dynload
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move {*}[glob ${destroot}${python.pkgd}/*.so] ${destroot}${python.libdir}/lib-dynload
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${destroot}${python.pkgd}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } elseif {${python.version} >= 30} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set setup_files [list setup-py3k.py]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${python.version} >= 30} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set extract_files [list Modules/_gdbmmodule.c]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${python.version} >= 35} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend extract_files Modules/clinic/_gdbmmodule.c.h
</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> foreach f $extract_files {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend extract_files_full "${distname}/$f"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend extract_files_full [shellescape ${distname}/${f}]
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- extract.post_args "| tar -xf - ${extract_files_full}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract.post_args "| tar -xf - [join ${extract_files_full}]"
</span> post-extract {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- file copy ${filespath}/${setup_py} ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach f $setup_files {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[string match setup-*.py $f]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${filespath}/${f} ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${filespath}/${f} ${worksrcpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|__VERSION__|${version}|g" ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|__PREFIX__|${prefix}|g" ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|__PREFIX__|${prefix}|" ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file exists ${worksrcpath}/pyproject.toml]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|__VERSION__|${version}|" ${worksrcpath}/pyproject.toml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|__VERSION__|${version}|" ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
livecheck.type regex
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-gdbm/files/pyproject.toml b/python/py-gdbm/files/pyproject.toml
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b429b18be27
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-gdbm/files/pyproject.toml
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[build-system]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+requires = ["setuptools"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build-backend = "setuptools.build_meta"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[project]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name = "gdbm"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version = "__VERSION__"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description = "GDBM Extension to Python"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[tool.setuptools.packages.find]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+exclude = ["clinic*"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+namespaces = false
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-gdbm/files/setup-pep517.py b/python/py-gdbm/files/setup-pep517.py
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..34d4cd63bba
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-gdbm/files/setup-pep517.py
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+from setuptools import Extension, setup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+setup(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ext_modules = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Extension(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ name="_gdbm",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sources=["_gdbmmodule.c"],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include_dirs = ["__PREFIX__/include"],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libraries = ["gdbm"],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ library_dirs = ["__PREFIX__/lib"]
</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;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 af933c74256..96ee40c5d21 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;'>@@ -15,10 +15,10 @@ long_description \
</span>
homepage https://docs.python.org/library/tkinter.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions 26 27 32 33 34 35 36 37 38 39
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions 26 27 32 33 34 35 36 37 38 39 310
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set extract_files "Modules/_tkinter.c Modules/tkappinit.c"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set module_name Tkinter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set extract_files [list Modules/_tkinter.c Modules/tkappinit.c]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set module_name tkinter
</span> subport py26-tkinter {
maintainers {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
version 2.6.9
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,18 +27,17 @@ subport py26-tkinter {
</span> checksums md5 933a811f11e3db3d73ae492f6c3a7a76 \
rmd160 42edf7c9f2f64b77ab173de30ea453257c2c06b3 \
sha256 cae7bb995006ea5b703d9d28446f694894c441fe4bfb95d561c0ac908cd06e41
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set module_name Tkinter
</span> }
subport py27-tkinter {
maintainers {jmr @jmroot} openmaintainer
version 2.7.18
revision 0
homepage https://docs.python.org/release/${version}/library/tkinter.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 fd6cc8ec0a78c44036f825e739f36e5a \
rmd160 40a514bb05c9e631454ea8466e28f5bb229428ad \
sha256 b62c0e7937551d0cc02b8fd5cb0f544f9405bafc9a54d3808ed4594812edef43
<span style='display:block; white-space:pre;background:#ffe0e0;'>- append extract_files " Modules/tkinter.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set module_name Tkinter
</span> }
subport py32-tkinter {
maintainers {jmr @jmroot}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,21 +46,15 @@ subport py32-tkinter {
</span> checksums md5 e0ba4360dfcb4aec735e666cc0ae7b0e \
rmd160 f3f5877cd3ac03151f161353e808a38204f1270d \
sha256 1d12b501819fd26afafbf8459be1aa279b56f032b4c15412de0a713ce0de7bdc
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- append extract_files " Modules/tkinter.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set module_name tkinter
</span> }
subport py33-tkinter {
maintainers {jmr @jmroot}
version 3.3.7
epoch 20141012
homepage https://docs.python.org/release/${version}/library/tkinter.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 84e2f12f044ca53b577f6224c53f82ac \
rmd160 3a915ea86ef3826fc0483eb94a2b4e2b9ad787b1 \
sha256 85f60c327501c36bc18c33370c14d472801e6af2f901dafbba056f61685429fe
<span style='display:block; white-space:pre;background:#ffe0e0;'>- append extract_files " Modules/tkinter.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set module_name tkinter
</span> }
subport py34-tkinter {
maintainers {jmr @jmroot} openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,12 +62,9 @@ subport py34-tkinter {
</span> version 3.4.10
revision 0
homepage https://docs.python.org/release/${version}/library/tkinter.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 f88a98bce17a03c43a6a5f8a66ab2e62 \
rmd160 050bb8f215d9b5ed8287b2a9f9faa6448d7513a5 \
sha256 d46a8f6fe91679e199c671b1b0a30aaf172d2acb5bcab25beb35f16c3d195b4e
<span style='display:block; white-space:pre;background:#ffe0e0;'>- append extract_files " Modules/tkinter.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set module_name tkinter
</span> }
subport py35-tkinter {
maintainers {jmr @jmroot} openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -82,12 +72,9 @@ subport py35-tkinter {
</span> version 3.5.10
revision 0
homepage https://docs.python.org/release/${version}/library/tkinter.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 75c9c268703654aa6f6f2ae67303dde4 \
rmd160 5ec7da2d568f963a81b78433bf72ed1ad9e87292 \
sha256 0f0fa8685c1dc1f1dacb0b4e7779796b90aef99dc1fa4967a71b9da7b57d4a28
<span style='display:block; white-space:pre;background:#ffe0e0;'>- append extract_files " Modules/tkinter.h Modules/clinic/_tkinter.c.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set module_name tkinter
</span> }
subport py36-tkinter {
maintainers {jmr @jmroot}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -95,84 +82,100 @@ subport py36-tkinter {
</span> version 3.6.15
revision 0
homepage https://docs.python.org/release/${version}/library/tkinter.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 bc04aa6c2a1a172a35012abd668538cd \
rmd160 eb84f49be5de3e2cc93059b9e90d3d42c971a90f \
sha256 6e28d7cdd6dd513dd190e49bca3972e20fcf455090ccf2ef3f1a227614135d91
<span style='display:block; white-space:pre;background:#ffe0e0;'>- append extract_files " Modules/tkinter.h Modules/clinic/_tkinter.c.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set module_name tkinter
</span> }
subport py37-tkinter {
maintainers {jmr @jmroot}
version 3.7.14
revision 0
homepage https://docs.python.org/release/${version}/library/tkinter.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 0acdd6e1a95f49ee7f9b338fb6092b65 \
rmd160 487f1741e42c4f2132dc13468c9d02767e8b9c71 \
sha256 4157ae31eb81af19e81c36882610491b0fb8f50e00fa8a17b095c88908b9c45c
<span style='display:block; white-space:pre;background:#ffe0e0;'>- append extract_files " Modules/tkinter.h Modules/clinic/_tkinter.c.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set module_name tkinter
</span> }
subport py38-tkinter {
maintainers nomaintainer
version 3.8.14
revision 0
homepage https://docs.python.org/release/${version}/library/tkinter.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 78710eed185b71f4198d354502ff62c9 \
rmd160 66936ea9c98e7a00fb23d44010ee3ee26ee37ea5 \
sha256 5d77e278271ba803e9909a41a4f3baca006181c93ada682a5e5fe8dc4a24c5f3
<span style='display:block; white-space:pre;background:#ffe0e0;'>- append extract_files " Modules/tkinter.h Modules/clinic/_tkinter.c.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set module_name tkinter
</span> }
subport py39-tkinter {
maintainers {jmr @jmroot}
version 3.9.14
revision 0
homepage https://docs.python.org/release/${version}/library/tkinter.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span> checksums md5 81cbab3acbc7771f71491b52206d9b6a \
rmd160 89c35a6e272853b5a5e30cf87c3fdeedf826997f \
sha256 651304d216c8203fe0adf1a80af472d8e92c3b0e0a7892222ae4d9f3ae4debcf
<span style='display:block; white-space:pre;background:#ffe0e0;'>- append extract_files " Modules/tkinter.h Modules/clinic/_tkinter.c.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set module_name tkinter
</span> }
subport py310-tkinter {
maintainers {jmr @jmroot}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- version 3.10.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ version 3.10.8
</span> revision 0
homepage https://docs.python.org/release/${version}/library/tkinter.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>- use_xz yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- checksums md5 b8094f007b3a835ca3be6bdf8116cccc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 15cea01c9fa3fe2f60ac6f7ba67b6c04072f5c72 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 6eed8415b7516fb2f260906db5d48dd4c06acc0cb24a7d6cc15296a604dcdc48
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- append extract_files " Modules/tkinter.h Modules/clinic/_tkinter.c.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set module_name tkinter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums md5 e92356b012ed4d0e09675131d39b1bde \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 e798facc3419b78c1eb980a2e63a9ec5e9cc586b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 6a30ecde59c47048013eb5a658c9b5dec277203d2793667f578df7671f7f03f3
</span> }
master_sites https://www.python.org/ftp/python/${version}/
distname Python-${version}
if {${name} ne ${subport}} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ use_xz yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_lib-append port:tk
dist_subdir python${python.version}
worksrcdir ${worksrcdir}/Modules
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${python.version} >= 310} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ python.pep517 yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set setup_files [list pyproject.toml setup-pep517.py]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d ${destroot}${python.libdir}/lib-dynload
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move {*}[glob ${destroot}${python.pkgd}/*.so] ${destroot}${python.libdir}/lib-dynload
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ delete ${destroot}${python.pkgd}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set setup_files [list setup.py]
</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 {${python.version} >= 27} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend extract_files Modules/tkinter.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${python.version} >= 35} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend extract_files Modules/clinic/_tkinter.c.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> foreach f $extract_files {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- lappend extract_files_full "${distname}/$f"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend extract_files_full [shellescape ${distname}/${f}]
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- extract.post_args "| tar -xf - $extract_files_full"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extract.post_args "| tar -xf - [join $extract_files_full]"
</span> post-extract {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- file copy ${filespath}/setup.py ${worksrcpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach f $setup_files {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[string match setup-*.py $f]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${filespath}/${f} ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${filespath}/${f} ${worksrcpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|__PREFIX__|${prefix}|g" ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|__TK-VERSION__|8.6|g" ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|__MODULE_NAME__|${module_name}|g" ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|__PREFIX__|${prefix}|" ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|__TK-VERSION__|8.6|" ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[file exists ${worksrcpath}/pyproject.toml]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|__MODULE_NAME__|${module_name}|" ${worksrcpath}/pyproject.toml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|__VERSION__|${version}|" ${worksrcpath}/pyproject.toml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|__MODULE_NAME__|${module_name}|" ${worksrcpath}/setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
livecheck.type regex
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-tkinter/files/pyproject.toml b/python/py-tkinter/files/pyproject.toml
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..2bfe0be5016
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-tkinter/files/pyproject.toml
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[build-system]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+requires = ["setuptools"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build-backend = "setuptools.build_meta"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[project]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name = "__MODULE_NAME__"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version = "__VERSION__"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description = "Tk Extension to Python"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[tool.setuptools.packages.find]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+exclude = ["clinic*"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+namespaces = false
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-tkinter/files/setup-pep517.py b/python/py-tkinter/files/setup-pep517.py
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..263ec469db1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-tkinter/files/setup-pep517.py
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+from setuptools import Extension, setup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+tkversion = "__TK-VERSION__"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+setup(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ext_modules = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Extension(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ name="_tkinter",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sources=["_tkinter.c", "tkappinit.c"],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ define_macros=[("WITH_APPINIT", 1)],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include_dirs = ["__PREFIX__/include"],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libraries = ["tcl" + tkversion, "tk" + tkversion],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ library_dirs = ["__PREFIX__/lib"]
</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></pre><pre style='margin:0'>
</pre>