<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/c4ab41a6a6b3658e05339c23e23041e0980d4ea8">https://github.com/macports/macports-ports/commit/c4ab41a6a6b3658e05339c23e23041e0980d4ea8</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 c4ab41a  Revert "pyobjc: upgrade to 5.1.2, consolidate framework ports"
</span>c4ab41a is described below

<span style='display:block; white-space:pre;color:#808000;'>commit c4ab41a6a6b3658e05339c23e23041e0980d4ea8
</span>Author: Dan Villiom Podlaski Christiansen <dan@magenta.dk>
AuthorDate: Tue Jan 8 10:04:34 2019 +0100

<span style='display:block; white-space:pre;color:#404040;'>    Revert "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;'>    This reverts commit 9f7482c08397c12d53c25a6d365e10d729407282, due to
</span><span style='display:block; white-space:pre;color:#404040;'>    comments in #3327.
</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, 241 insertions(+), 83 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 906d5cb..bcc5d8b 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,17 +1,52 @@
</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           obsolete 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           python 1.0
</span> 
 name                py-pyobjc-cocoa
<span style='display:block; white-space:pre;background:#e0ffe0;'>+python.rootname     pyobjc-framework-Cocoa
</span> version             3.0.4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-categories          python devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories-append   devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           darwin
</span> license             MIT
<span style='display:block; white-space:pre;background:#ffe0e0;'>-epoch               1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         cocoa wrappers for PyObjC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    This port provides the CoreFoundation, Foundation \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    and AppKit wrappers for use with PyObjC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            http://pyobjc.sourceforge.net/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        pypi:p/${python.rootname}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            ${python.rootname}-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  f3055447c484aecd164891c9200710e74c352153 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  e90849433dab2ea02b393ced2ca02822dc9d98aba46311ee3ea971ad19e947cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions     27 34 35 36 37
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib     port:py${python.version}-pyobjc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-python2-32mode.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -code error "PyObjC 2 requires Mac OS X 10.5 or later"
</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:#ffe0e0;'>-description         obsolete wrapper for PyObjC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            LICENSE.txt README.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy ${worksrcpath}/Examples \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/doc/${subport}/examples
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy ${worksrcpath}/Doc ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach v {27 34 35 36 37} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    subport py${v}-pyobjc-cocoa { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type  none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type  pypi
</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>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..f2bc2b6
</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-cocoa/files/patch-pyobjc_setup.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;'>+--- pyobjc_setup.py.orig   2013-01-10 15:26:32.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ pyobjc_setup.py        2014-08-12 06:20:25.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -186,7 +186,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ class pyobjc_install_lib (install_lib.install_lib):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def get_exclusions(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         result = install_lib.install_lib.get_exclusions(self)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        for fn in install_lib._install_lib.get_outputs(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        for fn in install_lib.orig.install_lib.get_outputs(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if 'PyObjCTest' in fn:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 result[fn] = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc-cocoa/files/patch-python2-32mode.diff b/python/py-pyobjc-cocoa/files/patch-python2-32mode.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..5327bf3
</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-cocoa/files/patch-python2-32mode.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Modules/_AppKit_carbon.m.orig  2014-01-15 09:02:32.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Modules/_AppKit_carbon.m       2016-11-03 15:49:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5,20 +5,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if PY_MAJOR_VERSION == 2 && defined(USE_TOOLBOX_OBJECT_GLUE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef __LP64__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "pymactoolbox.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  /* FIXME: the bits of pymactoolbox.h that we need,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   * because said header doesn't work in 64-bit mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern PyObject *WinObj_New(WindowPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern int WinObj_Convert(PyObject *, WindowPtr *);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern PyObject *WinObj_WhichWindow(WindowPtr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ py2window(PyObject* obj, void* output)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc-cocoa/files/patch2-pyobjc_setup.py.diff b/python/py-pyobjc-cocoa/files/patch2-pyobjc_setup.py.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..87b088f
</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-cocoa/files/patch2-pyobjc_setup.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,25 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- pyobjc_setup.py.orig   2014-10-19 22:32:43.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ pyobjc_setup.py        2014-10-19 22:33:00.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -197,15 +197,17 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             outputs = install_lib.orig.install_lib.get_outputs(self)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        exclusions = {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         for fn in outputs:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if 'PyObjCTest' in fn:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                result[fn] = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                exclusions[fn] = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        result['PyObjCTest'] = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        result[os.path.join(self.install_dir, 'PyObjCTest')] = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        exclusions['PyObjCTest'] = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        exclusions[os.path.join(self.install_dir, 'PyObjCTest')] = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         for fn in os.listdir('PyObjCTest'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            result[os.path.join('PyObjCTest', fn)] = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            result[os.path.join(self.install_dir, 'PyObjCTest', fn)] = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            exclusions[os.path.join('PyObjCTest', fn)] = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            exclusions[os.path.join(self.install_dir, 'PyObjCTest', fn)] = 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        result.update(exclusions)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return result
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyobjc-fsevents/Portfile b/python/py-pyobjc-fsevents/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4279c9b..6868e59 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,17 +1,47 @@
</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           obsolete 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup   python  1.0
</span> 
 name                py-pyobjc-fsevents
 version             3.0.4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories          python devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories-append   devel
</span> license             MIT
<span style='display:block; white-space:pre;background:#ffe0e0;'>-epoch               1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         FSEvents wrapper for PyObjC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    This port provides the FSEvents wrapper for use with PyObjC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            http://pyobjc.sourceforge.net/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        pypi:p/pyobjc-framework-FSEvents
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            pyobjc-framework-FSEvents-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  3221afb058d70b8751d6a1c663bfbc37d25828b3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  1a41d9ff4fc1597c8ca482076306cf8c7519a536281563cbadf7fc097376db34
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions     27 34 35 36
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 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:#e0ffe0;'>+# as subports of py-pyobj
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib     port:py${python.version}-pyobjc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -code error "PyObjC 2 requires Mac OS X 10.5 or later"
</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:#ffe0e0;'>-description         obsolete wrapper for PyObjC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 644 -W ${worksrcpath} LICENSE.txt ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy ${worksrcpath}/Examples ${destroot}${prefix}/share/doc/${subport}/examples
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy ${worksrcpath}/Doc ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach v {27 34 35 36} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    subport py${v}-pyobjc-fsevents { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type  none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type  regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.url   https://pypi.python.org/pypi/pyobjc-framework-FSEvents
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.regex {pyobjc-framework-FSEvents ([0-9.]+)}
</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 d7cd164..f4686f0 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,17 +1,42 @@
</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           obsolete 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           python 1.0
</span> 
 name                py-pyobjc-qtkit
 version             3.0.4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories          python devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories-append   devel
</span> license             MIT
<span style='display:block; white-space:pre;background:#ffe0e0;'>-epoch               1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs     noarch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         QTKit wrappers for PyObjC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    This port provides wrappers for the QTKit framework for \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    use with PyObjC. QTKit is an modern, object-oriented \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    framework for working with QuickTime media in Cocoa \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    applications, and is a replacement for the older \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    Carbon-based Quicktime framework.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            http://pyobjc.sourceforge.net/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        pypi:p/pyobjc-framework-QTKit/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            pyobjc-framework-QTKit-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  d032d56b1007fc45ca5c36b29d90717f3075508a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  4dccc8bcf29c474de437a68907a6e6ff6eafe2530885fcaddcca05675f7649d6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions     27 34 35 36
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-description         obsolete wrapper for PyObjC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib         port:py${python.version}-pyobjc-quartz
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach v {27 34 35 36} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    subport py${v}-pyobjc-qtkit { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            LICENSE.txt README.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy ${worksrcpath}/Doc ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type  regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.url   https://pypi.python.org/pypi/pyobjc-framework-QTKit/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.regex {pyobjc-framework-QTKit ([0-9.]+)}
</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 19401da..6ad9db9 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,17 +1,44 @@
</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           obsolete 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           python 1.0
</span> 
 name                py-pyobjc-quartz
 version             3.0.4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories          python devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories-append   devel
</span> license             MIT
<span style='display:block; white-space:pre;background:#ffe0e0;'>-epoch               1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Quartz wrappers for PyObjC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    This port provides the CoreGraphics, ImageIO, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    QuartzComposer, QuartzCore, QuartzFilters, ImageKit, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    PDFKit and CoreVideo framework wrappers \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    for use with PyObjC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            http://pyobjc.sourceforge.net/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        pypi:p/pyobjc-framework-Quartz/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            pyobjc-framework-Quartz-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  7509318b3a5e40079ae09d4b708ceb393adfb732 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  b12a8af65312dd2f06f62a8bf73a56d8f3fbad90adda4038757356d7624ce391
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions     27 34 35 36
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-description         obsolete wrapper for PyObjC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${name} ne ${subport}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib         port:py${python.version}-pyobjc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:py${python.version}-pyobjc-cocoa
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach v {27 34 35 36} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    subport py${v}-pyobjc-quartz { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 644 -W ${worksrcpath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            LICENSE.txt README.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy ${worksrcpath}/Examples \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/doc/${subport}/examples
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy ${worksrcpath}/Doc ${destroot}${prefix}/share/doc/${subport}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type  none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type  regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.url   https://pypi.python.org/pypi/pyobjc-framework-Quartz/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.regex {pyobjc-framework-Quartz ([0-9.]+)}
</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 7806490..1cea987 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,18 +2,16 @@
</span> 
 PortSystem          1.0
 PortGroup           python 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           bitbucket 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-bitbucket.setup     ronaldoussoren pyobjc 5.1.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  04b3641966d18ce4e46e0e22d33635c2cff20637 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  7a577a258b41637ac8eeb2a2fb546fe32093729f10028947c0373111b0a46d6e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    12088835
</span> 
 name                py-pyobjc
<span style='display:block; white-space:pre;background:#e0ffe0;'>+version             5.1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  42e9cfd749591be02fcb8fe1ede0dc6bdb7399de \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  3a817e0e5c05d98ac944a9f56b2ac02f699f5cc58216083f20e102b2cc1248e8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    793619
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> categories-append   devel
 license             MIT
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         openmaintainer {danchr @danchr}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         nomaintainer
</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;'>@@ -25,6 +23,8 @@ 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:#e0ffe0;'>+master_sites        pypi:p/pyobjc-core/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            pyobjc-core-${version}
</span> 
 python.versions 27 34 35 36 37
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,18 +32,15 @@ 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:#ffe0e0;'>-    depends_build   port:py${python.version}-sphinx
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # the patch below suppresses cleaning on incremental builds, as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # MacPorts handles that itself
</span>     patchfiles-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-install.py.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-module.m.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}/pyobjc-core/setup.cfg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+|" ${worksrcpath}/setup.cfg
</span>     }
 
     if {${configure.sdkroot} eq ""} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -52,7 +49,7 @@ deployment-target = ${macosx_deployment_target}\\
</span>         set sdkroot ${configure.sdkroot}
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    destroot.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.env-append \
</span>                     SDKROOT=${sdkroot}
 
     platform darwin 8 {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -63,26 +60,17 @@ deployment-target = ${macosx_deployment_target}\\
</span>         }
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "s/sphinx-build /sphinx-build-${python.branch} /g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}/docs/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # the pyobjc build system is vaguely horrible, so do everything in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # the destroot target
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        system -W ${worksrcpath}/docs "make html"
</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;'>-    destroot.cmd "${python.bin} install.py"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>     post-destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        xinstall -m 644 -W ${worksrcpath}/pyobjc-core HISTORIC.txt Install.txt \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            License.txt README.txt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        xinstall -m 0644 -W ${worksrcpath} HISTORIC.txt License.txt README.txt \
</span>             ${destroot}${prefix}/share/doc/${subport}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        copy ${worksrcpath}/docs/_build/html ${destroot}${prefix}/share/doc/${subport}/html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        delete ${destroot}${prefix}/share/doc/${subport}/examples
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy ${worksrcpath}/Examples \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/share/doc/${subport}/examples
</span>     }
 
     livecheck.type  none
<span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.type  regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    livecheck.url   https://pypi.python.org/pypi/pyobjc-core/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    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>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index e63f7d4..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pyobjc/files/patch-install.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,24 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- install.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ install.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -174,19 +174,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def build_project(project, extra_args):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     proj_dir = os.path.join(TOPDIR, project)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    # First ask distutils to clean up
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    print("Cleaning {!r} using {!r}".format(project, sys.executable))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    status = subprocess.call(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        [sys.executable, "setup.py", "clean"],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        cwd=proj_dir)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if status != 0:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        print("Cleaning of {!r} failed, status {}".format(project, status))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        return False
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    # Explicitly remove the 'build' directory, just in case...
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if os.path.exists(os.path.join(proj_dir, 'build')):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        shutil.rmtree(os.path.join(proj_dir, 'build'))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     print("Installing {!r} using {!r}".format(project, sys.executable))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     status = subprocess.call(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         [sys.executable, "setup.py", "install"] + extra_args,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-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>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..7a2073b
</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-module.m.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix compile error on OS X 10.9 or earlier
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://bitbucket.org/ronaldoussoren/pyobjc/issues/254
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://bitbucket.org/ronaldoussoren/pyobjc/commits/1b03b7b9f77d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Modules/objc/module.m.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Modules/objc/module.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -38,9 +38,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if PyObjC_BUILD_RELEASE < 1010
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ typedef struct {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    long versionMajor;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    long versionMinor;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    long versionPatch;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    long majorVersion;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    long minorVersion;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    long patchVersion;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } NSOperatingSystemVersion;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>