<pre style='margin:0'>
Dan Villiom Podlaski Christiansen (danchr) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d0fbfc1020b539e021ae43a8c48632ec9818d404">https://github.com/macports/macports-ports/commit/d0fbfc1020b539e021ae43a8c48632ec9818d404</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit d0fbfc1020b539e021ae43a8c48632ec9818d404
</span>Author: Dan Villiom Podlaski Christiansen <danchr@macports.org>
AuthorDate: Sun Nov 24 19:12:49 2019 +0100

<span style='display:block; white-space:pre;color:#404040;'>    pyobjc: consolidate framework ports
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    The ensures that we get _all_ the frameworks available for a given OS,
</span><span style='display:block; white-space:pre;color:#404040;'>    rather than just the few we used to include. To avoid breaking old, but
</span><span style='display:block; white-space:pre;color:#404040;'>    possibly working, ports, I only applied the change to the Python 3.x
</span><span style='display:block; white-space:pre;color:#404040;'>    version of PyObjC.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    As an aside this effectively removes the ports providing:
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    * py27-pyobjc-fsevents
</span><span style='display:block; white-space:pre;color:#404040;'>    * py27-pyobjc-qtkit
</span><span style='display:block; white-space:pre;color:#404040;'>    * py27-pyobjc-quartz
</span><span style='display:block; white-space:pre;color:#404040;'>    * py35-pyobjc-fsevents
</span><span style='display:block; white-space:pre;color:#404040;'>    * py35-pyobjc-qtkit
</span><span style='display:block; white-space:pre;color:#404040;'>    * py35-pyobjc-quartz
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    However, no other ports depend on them, and the imminent EOL of
</span><span style='display:block; white-space:pre;color:#404040;'>    Python 2.7 means that people really shouldn't be relying on them
</span><span style='display:block; white-space:pre;color:#404040;'>    outside of MacPorts anyway, so I consider that acceptable.
</span><span style='display:block; white-space:pre;color:#404040;'>    Although Python 3.5 will remain supported for a bit longer, dropping
</span><span style='display:block; white-space:pre;color:#404040;'>    these extra dependencies shouldn't matter much.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    To prevent breaking other ports, I altered them to depend on the
</span><span style='display:block; white-space:pre;color:#404040;'>    combined port, if necessary, and bumped their revision just in case
</span><span style='display:block; white-space:pre;color:#404040;'>    even if not.
</span>---
 python/py-param/Portfile                       |  2 +-
 python/py-pyobjc-cocoa/Portfile                | 58 ++++----------------
 python/py-pyobjc-fsevents/Portfile             | 69 ++++--------------------
 python/py-pyobjc-qtkit/Portfile                | 72 ++++---------------------
 python/py-pyobjc-quartz/Portfile               | 75 ++++----------------------
 python/py-pyobjc/Portfile                      | 59 ++++++++++++--------
 python/py-pyobjc/files/patch-docs-conf.py.diff | 11 ++++
 python/py-pyobjc/files/patch-install.py.diff   | 21 ++++++++
 python/py-zope-hookable/Portfile               |  2 +-
 9 files changed, 113 insertions(+), 256 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-param/Portfile b/python/py-param/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 898b326..5c89f88 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-param/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-param/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,7 +7,7 @@ PortGroup           python 1.0
</span> set real_name       param
 name                py-${real_name}
 github.setup        pyviz ${real_name} 1.9.2 v
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> license             BSD
 maintainers         {mps @Schamschula} openmaintainer
 description         Param is a library providing Parameters.
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc-cocoa/Portfile b/python/py-pyobjc-cocoa/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ec0039c..8dddf6f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pyobjc-cocoa/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pyobjc-cocoa/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,60 +2,22 @@
</span> 
 PortSystem          1.0
 PortGroup           python 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           obsolete 1.0
</span> 
 name                py-pyobjc-cocoa
<span style='display:block; white-space:pre;background:#ffe0e0;'>-python.rootname     pyobjc-framework-Cocoa
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories-append   devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license             MIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description         cocoa wrappers for PyObjC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description    This port provides the CoreFoundation, Foundation \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    and AppKit wrappers for use with PyObjC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            https://pyobjc.readthedocs.io
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> version             6.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160 e5a7095511e7d4d6daed8fb9c18d797ec519a75d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 c4077d2e6f96e4f3fd9780d66778cf51d27f414822498b24410e9df7a6a4d531 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size   3941627
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname            ${python.rootname}-${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        pypi:p/${python.rootname}/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions     36 37 38
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:py${python.version}-setuptools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append  port:py${python.version}-pyobjc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          python devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             MIT
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${configure.sdkroot} eq ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set sdkroot "/"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set sdkroot ${configure.sdkroot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+replaced_by         py-pyobjc
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.env-append    SDKROOT=${sdkroot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    destroot.env-append SDKROOT=${sdkroot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         obsolete wrapper for PyObjC
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ui_error "${subport} @${version} requires Mac OS X 10.5 or later"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            return -code error "incompatible Mac OS X version"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v {35 36 37 38} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    subport py$v-pyobjc-cocoa {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        replaced_by py$v-pyobjc
</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;'>-        xinstall -m 0644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            LICENSE.txt README.txt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        copy ${worksrcpath}/Examples \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${destroot}${prefix}/share/doc/${subport}/examples
</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  none
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#   Remove in November, 2020
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc-fsevents/Portfile b/python/py-pyobjc-fsevents/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2cb1374..18ab9b5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pyobjc-fsevents/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pyobjc-fsevents/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,70 +2,23 @@
</span> 
 PortSystem          1.0
 PortGroup           python 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           obsolete 1.0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-name                py-pyobjc-fsevents
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-python.rootname     pyobjc-framework-FSEvents
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories-append   devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license             MIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description         FSEvents wrapper for PyObjC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description    This port provides the FSEvents wrapper for use with PyObjC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            https://pyobjc.readthedocs.io/
</span> 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+name                py-pyobjc-fsevents
</span> version             6.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        pypi:p/${python.rootname}/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions     27 35 36 37 38
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${python.version} == 27 ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${python.version} == 35} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # peg at the final version for these Python versions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        version   5.3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        revision  0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        distname  ${python.rootname}-${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        checksums rmd160 c54b7ad3dfb4e977504e9028a4ca81a07ae9b869 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  sha256 b5570c4184c75690b3f8e5ed5034021369ae664f33539dc85e41c3a6c7e6d88c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  size   25769
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        patchfiles pyobjc_setup.py.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        revision  0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        distname  ${python.rootname}-${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        checksums rmd160 18f305a858be67ddf5a38fee7d55d96622aea94b \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  sha256 7a635c86af744a1d17f0c6c3913bef87b5fd146e0311c03229eba9e512b81520 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  size   24673
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:py${python.version}-setuptools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append  port:py${python.version}-pyobjc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${configure.sdkroot} eq ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set sdkroot "/"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set sdkroot ${configure.sdkroot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          python devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             MIT
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.env-append    SDKROOT=${sdkroot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    destroot.env-append SDKROOT=${sdkroot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+replaced_by         py-pyobjc
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ui_error "${subport} @${version} requires Mac OS X 10.5 or later"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            return -code error "incompatible Mac OS X version"
</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:#e0ffe0;'>+description         obsolete wrapper for PyObjC
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 0644 -W ${worksrcpath} LICENSE.txt ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        copy ${worksrcpath}/Examples ${destroot}${prefix}/share/doc/${subport}/examples
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v {35 36 37 38} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    subport py$v-pyobjc-fsevents {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        replaced_by py$v-pyobjc
</span>     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    livecheck.type  none
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#   Remove in November, 2020
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc-qtkit/Portfile b/python/py-pyobjc-qtkit/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index dfce773..71e137e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pyobjc-qtkit/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pyobjc-qtkit/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,74 +2,22 @@
</span> 
 PortSystem          1.0
 PortGroup           python 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           obsolete 1.0
</span> 
 name                py-pyobjc-qtkit
<span style='display:block; white-space:pre;background:#ffe0e0;'>-python.rootname     pyobjc-framework-QTKit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories-append   devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license             MIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description         QTKit wrappers for PyObjC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description    This port provides wrappers for the QTKit framework for \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    use with PyObjC. QTKit is an modern, object-oriented \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    framework for working with QuickTime media in Cocoa \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    applications, and is a replacement for the older \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    Carbon-based Quicktime framework.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            https://pyobjc.readthedocs.io/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> version             6.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        pypi:p/${python.rootname}/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions     27 35 36 37 38
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${python.version} == 27 ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${python.version} == 35} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # peg at the final version for these Python versions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        version   5.3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        revision  0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        distname  ${python.rootname}-${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        checksums rmd160 f7b5d1216944d5e52e3227f4e804722ae0681990 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  sha256 d831c3d444364dc8b419db59dc023a4ff826392f1d602d36103085182a1e34dd \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  size   119683
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        patchfiles pyobjc_setup.py.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        revision  0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        distname  ${python.rootname}-${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        checksums rmd160 f44ab01937ee44f0674a9e8d693487885a49e830 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  sha256 26d74aa7209827e624eaae03a4a69f2ea5b38746d6af7f55fc6a7709a8809859 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  size   119118
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:py${python.version}-setuptools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append  port:py${python.version}-pyobjc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:py${python.version}-pyobjc-quartz
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${configure.sdkroot} eq ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set sdkroot "/"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set sdkroot ${configure.sdkroot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          python devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             MIT
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.env-append    SDKROOT=${sdkroot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    destroot.env-append SDKROOT=${sdkroot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+replaced_by         py-pyobjc
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ui_error "${subport} @${version} requires Mac OS X 10.5 or later"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            return -code error "incompatible Mac OS X version"
</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:#e0ffe0;'>+description         obsolete wrapper for PyObjC
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 0644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            LICENSE.txt README.txt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v {35 36 37 38} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    subport py$v-pyobjc-qtkit {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        replaced_by py$v-pyobjc
</span>     }
 }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#   Remove in November, 2020
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc-quartz/Portfile b/python/py-pyobjc-quartz/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c10b113..f16e7b0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pyobjc-quartz/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pyobjc-quartz/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,77 +2,22 @@
</span> 
 PortSystem          1.0
 PortGroup           python 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           obsolete 1.0
</span> 
 name                py-pyobjc-quartz
<span style='display:block; white-space:pre;background:#ffe0e0;'>-python.rootname     pyobjc-framework-Quartz
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories-append   devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license             MIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description         Quartz wrappers for PyObjC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description    This port provides the CoreGraphics, ImageIO, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    QuartzComposer, QuartzCore, QuartzFilters, ImageKit, \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    PDFKit and CoreVideo framework wrappers \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    for use with PyObjC.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            https://pyobjc.readthedocs.io/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> version             6.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        pypi:p/${python.rootname}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions     27 35 36 37 38
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${python.version} == 27 ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${python.version} == 35} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # peg at the final version for these Python versions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        version   5.3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        revision  0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        distname  ${python.rootname}-${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        checksums rmd160 a06bc0f1da8559473be5b420a462693483487351 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  sha256 fb89be73ca9dff503375e7a73be5a957bf97c8308259ab733ddfdcc2f70a3fa4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  size   3372445
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        patchfiles pyobjc_setup.py.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        revision  0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        distname  ${python.rootname}-${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        checksums rmd160 cfbd8898c47bb869565b8496a9ec08dbaa75f976 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  sha256 dc96a7c8b22264579f5438e2f9fc6c7f905412c5b297a750acce00f50aa87ca5 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                  size   3433848
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_build-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:py${python.version}-setuptools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append  port:py${python.version}-pyobjc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:py${python.version}-pyobjc-cocoa
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${configure.sdkroot} eq ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set sdkroot "/"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set sdkroot ${configure.sdkroot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          python devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             MIT
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.env-append    SDKROOT=${sdkroot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    destroot.env-append SDKROOT=${sdkroot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+replaced_by         py-pyobjc
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ui_error "${subport} @${version} requires Mac OS X 10.5 or later"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            return -code error "incompatible Mac OS X version"
</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:#e0ffe0;'>+description         obsolete wrapper for PyObjC
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 0644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            LICENSE.txt README.txt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        copy ${worksrcpath}/Examples \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${destroot}${prefix}/share/doc/${subport}/examples
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v {27 35 36 37 38} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    subport py$v-pyobjc-quartz {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        replaced_by py$v-pyobjc
</span>     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    livecheck.type  none
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#   Remove in November, 2020
</span><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 e2fc435..d4c6f87 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;'>@@ -2,12 +2,19 @@
</span> 
 PortSystem          1.0
 PortGroup           python 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           bitbucket 1.0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-name                py-pyobjc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bitbucket.setup     ronaldoussoren pyobjc 6.1 pyobjc-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  93a213137223054789e42c198d3daad5a962c937 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  d46d061b6156df60db4562c6bb4dd886ada54c41c0463f290b3ee2650d56b3cd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    12915723
</span> 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+name                py-pyobjc
</span> categories-append   devel
 license             MIT
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         openmaintainer {danchr @danchr}
</span> platforms           darwin
 description         bidirectional bridge between python and Objective C
 long_description    The PyObjC project aims to provide a bridge between \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -19,28 +26,26 @@ long_description    The PyObjC project aims to provide a bridge between \
</span>                     Python based functionality.
 homepage            https://pyobjc.readthedocs.io
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             6.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname            pyobjc-core-${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160 dc2368d6c2bad5c7c64dfdffcb660df309aaba68 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256 1a0fbf012fb575e0adf8c18cfd4453e657cc2c0deb2660c529bf524ba4c9149a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size   791075
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        pypi:p/pyobjc-core/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> python.versions     36 37 38
 
 if {${name} ne ${subport}} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>     depends_lib-append \
                     port:libffi \
                     port:py${python.version}-setuptools
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build   port:py${python.version}-sphinx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # the patches below suppresses cleaning on incremental builds, as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # MacPorts handles that itself, and disables a sphinx extension
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # not in MacPorts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-docs-conf.py.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-install.py.diff
</span> 
     post-patch {
         reinplace "s|use-system-libffi = 0|\\
 use-system-libffi = 1\\
 deployment-target = ${macosx_deployment_target}\\
<span style='display:block; white-space:pre;background:#ffe0e0;'>-|" ${worksrcpath}/setup.cfg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+|" ${worksrcpath}/pyobjc-core/setup.cfg
</span>     }
 
     if {${configure.sdkroot} eq ""} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -60,17 +65,29 @@ deployment-target = ${macosx_deployment_target}\\
</span>         }
     }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "s/sphinx-build /sphinx-build-${python.branch} /g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/docs/Makefile
</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;'>+    # the pyobjc build system is vaguely horrible, so do everything in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # the destroot target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${worksrcpath}/docs "make html"
</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;'>+    # don't pass --no-user-cfg, as the build system subclasses the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # install command from distutils, not setuptools -- in fact, doing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # so breaks the build...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.cmd "${python.bin} install.py"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     post-destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 0644 -W ${worksrcpath} HISTORIC.txt License.txt README.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 644 -W ${worksrcpath}/pyobjc-core HISTORIC.txt Install.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            License.txt README.txt \
</span>             ${destroot}${prefix}/share/doc/${subport}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        delete ${destroot}${prefix}/share/doc/${subport}/examples
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        copy ${worksrcpath}/Examples \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${destroot}${prefix}/share/doc/${subport}/examples
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy ${worksrcpath}/docs/_build/html ${destroot}${prefix}/share/doc/${subport}/html
</span>     }
 
     livecheck.type  none
<span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</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   https://pypi.python.org/pypi/pyobjc-core/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    livecheck.regex {pyobjc-core ([0-9.]+)}
</span> }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc/files/patch-docs-conf.py.diff b/python/py-pyobjc/files/patch-docs-conf.py.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..f1604a6
</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-docs-conf.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git docs/conf.py docs/conf.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- docs/conf.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ docs/conf.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,7 +33,6 @@ extensions = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "sphinx.ext.ifconfig",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "sphinx.ext.extlinks",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "examples",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "sphinx_sitemap",
</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;'>+ extlinks = {"issue": ("https://bitbucket.org/ronaldoussoren/pyobjc/issues/%s", "issue ")}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc/files/patch-install.py.diff b/python/py-pyobjc/files/patch-install.py.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..a49c50f
</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-install.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git install.py install.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- install.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ install.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -186,17 +186,6 @@ def sorted_framework_wrappers():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def build_project(project, extra_args):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     proj_dir = os.path.join(TOPDIR, project)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    # First ask distutils to clean up
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    print("Cleaning {!r} using {!r}".format(project, sys.executable))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    status = subprocess.call([sys.executable, "setup.py", "clean"], cwd=proj_dir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if status != 0:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        print("Cleaning of {!r} failed, status {}".format(project, status))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        return False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    # Explicitly remove the 'build' directory, just in case...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if os.path.exists(os.path.join(proj_dir, "build")):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        shutil.rmtree(os.path.join(proj_dir, "build"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     print("Installing {!r} using {!r}".format(project, sys.executable))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     status = subprocess.call(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         [sys.executable, "setup.py", "install"] + extra_args, cwd=proj_dir
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-zope-hookable/Portfile b/python/py-zope-hookable/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 565c87d..ab834a2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-zope-hookable/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-zope-hookable/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,7 +6,7 @@ PortGroup           python 1.0
</span> set real_name       zope.hookable
 name                py-zope-hookable
 version             5.0.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> worksrcdir          ${real_name}-${version}
 distfiles           ${real_name}-${version}${extract.suffix}
 categories-append   zope
</pre><pre style='margin:0'>

</pre>