<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9f7482c08397c12d53c25a6d365e10d729407282">https://github.com/macports/macports-ports/commit/9f7482c08397c12d53c25a6d365e10d729407282</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 9f7482c  pyobjc: upgrade to 5.1.2, consolidate framework ports
</span>9f7482c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 9f7482c08397c12d53c25a6d365e10d729407282
</span>Author: Dan Villiom Podlaski Christiansen <danchr@macports.org>
AuthorDate: Fri Jan 4 10:57:16 2019 +0100

<span style='display:block; white-space:pre;color:#404040;'>    pyobjc: upgrade to 5.1.2, 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.
</span>---
 python/py-pyobjc-cocoa/Portfile                    | 49 +++------------------
 .../files/patch-pyobjc_setup.py.diff               | 11 -----
 .../files/patch-python2-32mode.diff                | 23 ----------
 .../files/patch2-pyobjc_setup.py.diff              | 25 -----------
 python/py-pyobjc-fsevents/Portfile                 | 44 +++----------------
 python/py-pyobjc-qtkit/Portfile                    | 39 +++--------------
 python/py-pyobjc-quartz/Portfile                   | 41 +++---------------
 python/py-pyobjc/Portfile                          | 50 ++++++++++++++--------
 python/py-pyobjc/files/patch-install.py.diff       | 24 +++++++++++
 python/py-pyobjc/files/patch-module.m.diff         | 18 --------
 10 files changed, 83 insertions(+), 241 deletions(-)

<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 bcc5d8b..906d5cb 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;'>@@ -1,52 +1,17 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           python 1.0
</span><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> version             3.0.4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</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            http://pyobjc.sourceforge.net/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</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;'>-distname            ${python.rootname}-${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  f3055447c484aecd164891c9200710e74c352153 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  e90849433dab2ea02b393ced2ca02822dc9d98aba46311ee3ea971ad19e947cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          python devel
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions     27 34 35 36 37
</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;'>-    depends_lib     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;'>-    patchfiles-append patch-python2-32mode.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    platform darwin 8 {
</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;'>-            return -code error "PyObjC 2 requires Mac OS X 10.5 or later"
</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;'>+license             MIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+epoch               1
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 644 -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;'>-        copy ${worksrcpath}/Doc ${destroot}${prefix}/share/doc/${subport}
</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;'>-    livecheck.type  none
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    livecheck.type  pypi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v {27 34 35 36 37} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    subport py${v}-pyobjc-cocoa { }
</span> }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc-cocoa/files/patch-pyobjc_setup.py.diff b/python/py-pyobjc-cocoa/files/patch-pyobjc_setup.py.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index f2bc2b6..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pyobjc-cocoa/files/patch-pyobjc_setup.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- pyobjc_setup.py.orig   2013-01-10 15:26:32.000000000 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ pyobjc_setup.py        2014-08-12 06:20:25.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -186,7 +186,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- class pyobjc_install_lib (install_lib.install_lib):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     def get_exclusions(self):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         result = install_lib.install_lib.get_exclusions(self)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        for fn in install_lib._install_lib.get_outputs(self):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        for fn in install_lib.orig.install_lib.get_outputs(self):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if 'PyObjCTest' in fn:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 result[fn] = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc-cocoa/files/patch-python2-32mode.diff b/python/py-pyobjc-cocoa/files/patch-python2-32mode.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 5327bf3..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pyobjc-cocoa/files/patch-python2-32mode.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,23 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Modules/_AppKit_carbon.m.orig  2014-01-15 09:02:32.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Modules/_AppKit_carbon.m       2016-11-03 15:49:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5,20 +5,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if PY_MAJOR_VERSION == 2 && defined(USE_TOOLBOX_OBJECT_GLUE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef __LP64__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#include "pymactoolbox.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  /* FIXME: the bits of pymactoolbox.h that we need,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   * because said header doesn't work in 64-bit mode
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern PyObject *WinObj_New(WindowPtr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern int WinObj_Convert(PyObject *, WindowPtr *);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern PyObject *WinObj_WhichWindow(WindowPtr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- py2window(PyObject* obj, void* output)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc-cocoa/files/patch2-pyobjc_setup.py.diff b/python/py-pyobjc-cocoa/files/patch2-pyobjc_setup.py.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 87b088f..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pyobjc-cocoa/files/patch2-pyobjc_setup.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,25 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- pyobjc_setup.py.orig   2014-10-19 22:32:43.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ pyobjc_setup.py        2014-10-19 22:33:00.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -197,15 +197,17 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             outputs = install_lib.orig.install_lib.get_outputs(self)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        exclusions = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for fn in outputs:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if 'PyObjCTest' in fn:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                result[fn] = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                exclusions[fn] = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        result['PyObjCTest'] = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        result[os.path.join(self.install_dir, 'PyObjCTest')] = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        exclusions['PyObjCTest'] = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        exclusions[os.path.join(self.install_dir, 'PyObjCTest')] = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for fn in os.listdir('PyObjCTest'):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            result[os.path.join('PyObjCTest', fn)] = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            result[os.path.join(self.install_dir, 'PyObjCTest', fn)] = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            exclusions[os.path.join('PyObjCTest', fn)] = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            exclusions[os.path.join(self.install_dir, 'PyObjCTest', fn)] = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        result.update(exclusions)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         return result
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</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 6868e59..4279c9b 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;'>@@ -1,47 +1,17 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup   python  1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           obsolete 1.0
</span> 
 name                py-pyobjc-fsevents
 version             3.0.4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-categories-append   devel
</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;'>-platforms           darwin
</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            http://pyobjc.sourceforge.net/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        pypi:p/pyobjc-framework-FSEvents
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname            pyobjc-framework-FSEvents-${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  3221afb058d70b8751d6a1c663bfbc37d25828b3 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  1a41d9ff4fc1597c8ca482076306cf8c7519a536281563cbadf7fc097376db34
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions     27 34 35 36
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# since there is replication of code all these pyObjc related framework should probably all be merged
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# as subports of py-pyobj
</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;'>-    depends_lib     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;'>-    platform darwin 8 {
</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;'>-            return -code error "PyObjC 2 requires Mac OS X 10.5 or later"
</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;'>+categories          python devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             MIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+epoch               1
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 644 -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:#ffe0e0;'>-        copy ${worksrcpath}/Doc ${destroot}${prefix}/share/doc/${subport}
</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;'>-    livecheck.type  none
</span><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-framework-FSEvents
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    livecheck.regex {pyobjc-framework-FSEvents ([0-9.]+)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v {27 34 35 36} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    subport py${v}-pyobjc-fsevents { }
</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 f4686f0..d7cd164 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;'>@@ -1,42 +1,17 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           python 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           obsolete 1.0
</span> 
 name                py-pyobjc-qtkit
 version             3.0.4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-categories-append   devel
</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;'>-platforms           darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-supported_archs     noarch
</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;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            http://pyobjc.sourceforge.net/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        pypi:p/pyobjc-framework-QTKit/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname            pyobjc-framework-QTKit-${version}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  d032d56b1007fc45ca5c36b29d90717f3075508a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  4dccc8bcf29c474de437a68907a6e6ff6eafe2530885fcaddcca05675f7649d6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions     27 34 35 36
</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:#e0ffe0;'>+epoch               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_lib         port:py${python.version}-pyobjc-quartz
</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 644 -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}/Doc ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    livecheck.type  regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    livecheck.url   https://pypi.python.org/pypi/pyobjc-framework-QTKit/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    livecheck.regex {pyobjc-framework-QTKit ([0-9.]+)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v {27 34 35 36} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    subport py${v}-pyobjc-qtkit { }
</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 6ad9db9..19401da 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;'>@@ -1,44 +1,17 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           python 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           obsolete 1.0
</span> 
 name                py-pyobjc-quartz
 version             3.0.4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-categories-append   devel
</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;'>-platforms           darwin
</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;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            http://pyobjc.sourceforge.net/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        pypi:p/pyobjc-framework-Quartz/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distname            pyobjc-framework-Quartz-${version}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  7509318b3a5e40079ae09d4b708ceb393adfb732 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  b12a8af65312dd2f06f62a8bf73a56d8f3fbad90adda4038757356d7624ce391
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions     27 34 35 36
</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:#e0ffe0;'>+epoch               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_lib         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:#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 644 -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;'>-        copy ${worksrcpath}/Doc ${destroot}${prefix}/share/doc/${subport}
</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:#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-framework-Quartz/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    livecheck.regex {pyobjc-framework-Quartz ([0-9.]+)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach v {27 34 35 36} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    subport py${v}-pyobjc-quartz { }
</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 1cea987..7806490 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,16 +2,18 @@
</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:#ffe0e0;'>-version             5.1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  42e9cfd749591be02fcb8fe1ede0dc6bdb7399de \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  3a817e0e5c05d98ac944a9f56b2ac02f699f5cc58216083f20e102b2cc1248e8 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    793619
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bitbucket.setup     ronaldoussoren pyobjc 5.1.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  04b3641966d18ce4e46e0e22d33635c2cff20637 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  7a577a258b41637ac8eeb2a2fb546fe32093729f10028947c0373111b0a46d6e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    12088835
</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;'>@@ -23,8 +25,6 @@ long_description    The PyObjC project aims to provide a bridge between \
</span>                     Python based functionality.
 
 homepage            https://pythonhosted.org/pyobjc/
<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;'>-distname            pyobjc-core-${version}
</span> 
 python.versions 27 34 35 36 37
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,15 +32,18 @@ if {${name} ne ${subport}} {
</span>     depends_lib     port:libffi \
                     port:py${python.version}-setuptools \
                     port:py${python.version}-py2app
<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;'>+    # the patch below suppresses cleaning on incremental builds, as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # MacPorts handles that itself
</span>     patchfiles-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-module.m.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;'>@@ -49,7 +52,7 @@ deployment-target = ${macosx_deployment_target}\\
</span>         set sdkroot ${configure.sdkroot}
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.env-append \
</span>                     SDKROOT=${sdkroot}
 
     platform darwin 8 {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -60,17 +63,26 @@ 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;'>+    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-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..e63f7d4
</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,24 @@
</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;'>+@@ -174,19 +174,6 @@
</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(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        [sys.executable, "setup.py", "clean"],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        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,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Diff finished.  Thu Jan  3 17:23:40 2019
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc/files/patch-module.m.diff b/python/py-pyobjc/files/patch-module.m.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 7a2073b..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pyobjc/files/patch-module.m.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,18 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Fix compile error on OS X 10.9 or earlier
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-https://bitbucket.org/ronaldoussoren/pyobjc/issues/254
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-https://bitbucket.org/ronaldoussoren/pyobjc/commits/1b03b7b9f77d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- Modules/objc/module.m.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ Modules/objc/module.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -38,9 +38,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if PyObjC_BUILD_RELEASE < 1010
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- typedef struct {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    long versionMajor;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    long versionMinor;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    long versionPatch;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    long majorVersion;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    long minorVersion;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    long patchVersion;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } NSOperatingSystemVersion;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span></pre><pre style='margin:0'>

</pre>