<pre style='margin:0'>
Michael Dickens (michaelld) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/0b137f38e4a1d819b6b2569653b6b2048ef7a71a">https://github.com/macports/macports-ports/commit/0b137f38e4a1d819b6b2569653b6b2048ef7a71a</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 0b137f38e4a py-pyobjc: update to 9.0.1
</span>0b137f38e4a is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 0b137f38e4a1d819b6b2569653b6b2048ef7a71a
</span>Author: Michael Dickens <michaelld@macports.org>
AuthorDate: Wed Jan 4 13:44:22 2023 -0500

<span style='display:block; white-space:pre;color:#404040;'>    py-pyobjc: update to 9.0.1
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Add patch to not error out when a subdirectory does not contain "setup.py".
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/66544
</span>---
 python/py-pyobjc/Portfile                          |  11 +-
 ...elopment-support-_install_tool.py-no-setup.diff | 114 +++++++++++++++++++++
 2 files changed, 120 insertions(+), 5 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc/Portfile b/python/py-pyobjc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8a58689504e..d3436bc7961 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pyobjc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pyobjc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,12 +4,12 @@ PortSystem          1.0
</span> PortGroup           python 1.0
 PortGroup           github 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        ronaldoussoren pyobjc 9.0 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        ronaldoussoren pyobjc 9.0.1 v
</span> revision            0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  85d5f97a5c1d4d591fcf7cf6b33720a5acfd0f5e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  cc5c3c55918a1c6d3fb88c8c9ff3725caca651e7a129aa965d5d2bb39fc8ebb3 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    19432932
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  48c007d79cc79ae59ca9cb64820b0682a9a94341 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  3c09850f383c7a3a6141b961a8ce14df5fe45502624cf9f26bd333f831b76d43 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    20026079
</span> 
 name                py-pyobjc
 categories-append   devel
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,7 +47,8 @@ if {${os.major} < 10} {
</span>     patchfiles-append \
                     patch-docs-conf.py.diff \
                     patch-pyobjc-core-setup.py.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-setup-no-werror.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-setup-no-werror.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-development-support-_install_tool.py-no-setup.diff
</span> 
     # use system libffi on Catalina and Big Sur until upstream merges
     # and releases Apple's changes
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc/files/patch-development-support-_install_tool.py-no-setup.diff b/python/py-pyobjc/files/patch-development-support-_install_tool.py-no-setup.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f6a9ac72616
</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-pyobjc/files/patch-development-support-_install_tool.py-no-setup.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,114 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- development-support/_install_tool.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ development-support/_install_tool.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -145,57 +145,61 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         min_platform = "10.0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         max_platform = "99.9"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        with open(setup) as fp:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            for ln in fp:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                if not in_requires:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    if ln.strip().startswith("install_requires"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                        in_requires = True
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                        if "]" in ln:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                            # Dependencies on a single line
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                            start = ln.find("[")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                            deps = ln[start + 1 :].strip().split(",")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                            for d in deps:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                d = d.strip()[1:]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                if d.startswith("pyobjc-framework-"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                    d = d.split(">")[0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                    requires.append(d)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    if ln.strip().startswith("]"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                        in_requires = False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                        continue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    dep = ln.strip()[1:-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    if dep.startswith("pyobjc-framework"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                        dep = dep.split(">")[0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                        requires.append(dep)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                if ln.strip().startswith("min_os_level"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    min_platform = ln.strip().split("=")[-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    if min_platform.endswith(","):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                        min_platform = min_platform[:-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    min_platform = min_platform[1:-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                if ln.strip().startswith("max_os_level"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    max_platform = ln.strip().split("=")[-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    if max_platform.endswith(","):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                        max_platform = max_platform[:-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    max_platform = max_platform[1:-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if not (
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            version_key(min_platform)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            <= version_key(cur_platform)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            <= version_key(max_platform)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        ):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            print(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                "Skipping {!r} because it is not supported on the current platform".format(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    subdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            with open(setup) as fp:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                print("fp is ", fp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                for ln in fp:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    if not in_requires:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        if ln.strip().startswith("install_requires"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            in_requires = True
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            if "]" in ln:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                # Dependencies on a single line
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                start = ln.find("[")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                deps = ln[start + 1 :].strip().split(",")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                for d in deps:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                    d = d.strip()[1:]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                    if d.startswith("pyobjc-framework-"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                        d = d.split(">")[0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                        requires.append(d)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        if ln.strip().startswith("]"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            in_requires = False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            continue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        dep = ln.strip()[1:-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        if dep.startswith("pyobjc-framework"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            dep = dep.split(">")[0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            requires.append(dep)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    if ln.strip().startswith("min_os_level"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        min_platform = ln.strip().split("=")[-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        if min_platform.endswith(","):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            min_platform = min_platform[:-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        min_platform = min_platform[1:-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    if ln.strip().startswith("max_os_level"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        max_platform = ln.strip().split("=")[-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        if max_platform.endswith(","):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            max_platform = max_platform[:-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        max_platform = max_platform[1:-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if not (
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                version_key(min_platform)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                <= version_key(cur_platform)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                <= version_key(max_platform)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            ):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                print(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    "Skipping {!r} because it is not supported on the current platform".format(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        subdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            continue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        frameworks.append(subdir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        for dep in requires:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            partial_order.append((dep, subdir))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                continue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            frameworks.append(subdir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            for dep in requires:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                partial_order.append((dep, subdir))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        except:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            print("Skipping {!r} because it has no setup.py script".format(subdir))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     frameworks = topological_sort(frameworks, partial_order)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return frameworks
</span></pre><pre style='margin:0'>

</pre>