[101408] trunk/dports/python

jmr at macports.org jmr at macports.org
Thu Jan 10 10:01:14 PST 2013


Revision: 101408
          https://trac.macports.org/changeset/101408
Author:   jmr at macports.org
Date:     2013-01-10 10:01:14 -0800 (Thu, 10 Jan 2013)
Log Message:
-----------
py*-pyobjc: unify

Modified Paths:
--------------
    trunk/dports/python/py-pyobjc/Portfile
    trunk/dports/python/py-pyobjc2/Portfile

Added Paths:
-----------
    trunk/dports/python/py-pyobjc/files/
    trunk/dports/python/py-pyobjc/files/objc-class.m.diff
    trunk/dports/python/py-pyobjc/files/patch-Modules-2.0.diff
    trunk/dports/python/py-pyobjc/files/patch-Modules-2.2.diff

Removed Paths:
-------------
    trunk/dports/python/py-pyobjc/files/patch-Modules.diff
    trunk/dports/python/py-pyobjc2/files/
    trunk/dports/python/py25-pyobjc/
    trunk/dports/python/py26-pyobjc/
    trunk/dports/python/py27-pyobjc/
    trunk/dports/python/py32-pyobjc/

Modified: trunk/dports/python/py-pyobjc/Portfile
===================================================================
--- trunk/dports/python/py-pyobjc/Portfile	2013-01-10 16:42:43 UTC (rev 101407)
+++ trunk/dports/python/py-pyobjc/Portfile	2013-01-10 18:01:14 UTC (rev 101408)
@@ -1,40 +1,79 @@
+# -*- 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
 # $Id$
 
 PortSystem 1.0
-PortGroup python24 1.0
+PortGroup python 1.0
 
-name			py-pyobjc
-version			1.4
-categories		python devel
+name            py-pyobjc
+version         2.4
+categories      python devel
 license         MIT
-maintainers		nomaintainer
-platforms		darwin
-description		bidirectional bridge between python and Objective C
-long_description	The PyObjC project aims to provide a bridge between \
-				the Python and Objective-C programming languages. The \
-				bridge is intended to be fully bidirectional, allowing \
-				the Python programmer to take full advantage of the \
-				power provided by various Objective-C based toolkits \
-				and the Objective-C programmer transparent access to \
-				Python based functionality.
+maintainers     nomaintainer
+platforms       darwin
+description     bidirectional bridge between python and Objective C
+long_description    The PyObjC project aims to provide a bridge between \
+                the Python and Objective-C programming languages. The \
+                bridge is intended to be fully bidirectional, allowing \
+                the Python programmer to take full advantage of the \
+                power provided by various Objective-C based toolkits \
+                and the Objective-C programmer transparent access to \
+                Python based functionality.
 
-homepage		http://pyobjc.sourceforge.net/
-master_sites	http://pyobjc.sourceforge.net/software/
-distname		pyobjc-${version}
-checksums		sha1 6f83b13b78e19f390709eaedf3004c81d983dc5d
+homepage        http://pyobjc.sourceforge.net/
+master_sites    http://pypi.python.org/packages/source/p/pyobjc-core/
+distname        pyobjc-core-${version}
+checksums       sha1   05dcb83dea0d50cda0a81e3cf07711bd7003c57d \
+                rmd160 9ec46a504e272128aeadff93c9dce8c1b26f73df
 
-if {${os.major} > 8} {
-    pre-fetch {
-        return -code error "PyObjC 1.4 is for Mac OS X 10.4 and lower. On 10.5, use py-pyobjc2 instead."
+python.versions 24 25 26 27 32
+
+if {$subport != $name} {
+    depends_lib     port:py${python.version}-distribute \
+                    port:py${python.version}-py2app
+
+    if {${python.version} <= 25} {
+        if {${python.version} == 24} {
+            version         2.0
+            depends_lib-append  port:py24-elementtree
+            fetch.type      svn
+            svn.url         http://svn.red-bean.com/pyobjc/tags/r200-leopard/pyobjc-core/
+            worksrcdir      pyobjc-core
+
+            patchfiles      patch-PyErr_WarnEx.diff undef_snprintf.diff setup.py.diff
+        } else {
+            version         2.2
+            patchfiles      objc-class.m.diff
+            distname        pyobjc-core-${version}
+            checksums       md5 91155ec6b319c9b4b066a616dccbdaa2 \
+                            sha1 6e1fbfa5708eefaf7a36147daf21f0aab62ec1e4 \
+                            rmd160 a7063fe74ecc95b3105e78196e5b5adc3bba3d4a
+        }
+        platform darwin 12 {
+            patchfiles-append 		patch-Modules-${version}.diff
+        }
     }
-}
 
-post-destroot {
-	xinstall -m 644 -W ${worksrcpath} HISTORIC.txt Install.html Install.txt \
-		License.txt NEWS.html NEWS.txt README.txt ReadMe.html \
-		${destroot}${prefix}/share/doc/${name}
-	file copy ${worksrcpath}/Doc ${destroot}${prefix}/share/doc/${name}/html
-	file delete ${destroot}${prefix}/share/doc/${name}/examples
-	file copy ${worksrcpath}/Examples \
-		${destroot}${prefix}/share/doc/${name}/examples
+    platform darwin 8 {
+        depends_fetch
+        depends_lib
+        pre-fetch {
+            return -code error "PyObjC 2 requires Mac OS X 10.5 or later"
+        }
+    }
+
+    post-destroot {
+        xinstall -m 644 -W ${worksrcpath} HISTORIC.txt Install.txt \
+            License.txt NEWS.txt ReadMe.txt \
+            ${destroot}${prefix}/share/doc/${subport}
+        copy ${worksrcpath}/Doc ${destroot}${prefix}/share/doc/${subport}/html
+        delete ${destroot}${prefix}/share/doc/${subport}/examples
+        copy ${worksrcpath}/Examples \
+            ${destroot}${prefix}/share/doc/${subport}/examples
+    }
+
+    livecheck.type  none
+} else {
+    livecheck.type  regex
+    livecheck.url   http://pypi.python.org/pypi/pyobjc-core/
+    livecheck.regex {pyobjc-core ([0-9.]+)}
 }

Copied: trunk/dports/python/py-pyobjc/files/objc-class.m.diff (from rev 101402, trunk/dports/python/py25-pyobjc/files/objc-class.m.diff)
===================================================================
--- trunk/dports/python/py-pyobjc/files/objc-class.m.diff	                        (rev 0)
+++ trunk/dports/python/py-pyobjc/files/objc-class.m.diff	2013-01-10 18:01:14 UTC (rev 101408)
@@ -0,0 +1,12 @@
+--- Modules/objc/objc-class.m.orig	2009-06-23 15:35:44.000000000 -0700
++++ Modules/objc/objc-class.m	2009-06-29 12:41:41.000000000 -0700
+@@ -1413,7 +1413,9 @@
+ 		((PyTypeObject *)result)->tp_as_buffer = &nsmutabledata_as_buffer;
+ 	} else if (strcmp(className, "NSBlock") == 0) {
+ 		((PyTypeObject *)result)->tp_basicsize = sizeof(PyObjCBlockObject);
++#if PY_MAJOR_VERSION > 2 || PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 5
+ 		PyType_Modified((PyTypeObject*)result);
++#endif /* > 2.5 */
+ 		PyType_Ready((PyTypeObject *)result);
+ 	}
+ 

Copied: trunk/dports/python/py-pyobjc/files/patch-Modules-2.0.diff (from rev 101402, trunk/dports/python/py-pyobjc2/files/patch-Modules.diff)
===================================================================
--- trunk/dports/python/py-pyobjc/files/patch-Modules-2.0.diff	                        (rev 0)
+++ trunk/dports/python/py-pyobjc/files/patch-Modules-2.0.diff	2013-01-10 18:01:14 UTC (rev 101408)
@@ -0,0 +1,93 @@
+diff -rupN Modules-original/objc/objc-runtime-compat.m Modules/objc/objc-runtime-compat.m
+--- Modules-original/objc/objc-runtime-compat.m	2009-05-25 03:56:04.000000000 +0900
++++ Modules/objc/objc-runtime-compat.m	2012-05-12 01:43:46.000000000 +0900
+@@ -984,27 +984,3 @@
+ 
+ #endif
+ 
+-#if defined(__x86_64__)
+-
+- at implementation Protocol (NSOBjectCompat)
+-- self
+-{
+-	return self;
+-}
+- at end
+-
+- at implementation Object (NSOBjectCompat)
+-- self
+-{
+-	return self;
+-}
+-
+--doesNotRecognizeSelector:(SEL)sel
+-{
+-	printf("--> %s\n", sel);
+-	abort();
+-}
+- at end
+-	
+-
+-#endif
+diff -rupN Modules-original/objc/objc_support.m Modules/objc/objc_support.m
+--- Modules-original/objc/objc_support.m	2010-06-30 05:28:09.000000000 +0900
++++ Modules/objc/objc_support.m	2012-05-12 01:46:11.000000000 +0900
+@@ -104,45 +104,6 @@
+ 
+ @end /* PyObjCSupport */
+ 
+- at interface Protocol (PyObjCSupport)
+--(PyObject*)__pyobjc_PythonObject__;
+- at end /* PyObjCSupport */
+-
+- at implementation Protocol (PyObjCSupport)
+-
+--(PyObject*)__pyobjc_PythonObject__
+-{
+-	PyObject *rval;
+-
+-	rval = PyObjC_FindPythonProxy(self);
+-	if (rval == NULL) {
+-		rval = PyObjCFormalProtocol_ForProtocol(self);
+-	}
+-	return rval;
+-}
+-
+- at end /* PyObjCSupport */
+-
+- at interface Object (PyObjCSupport)
+--(PyObject*)__pyobjc_PythonObject__;
+- at end /* PyObjCSupport */
+-
+- at implementation Object (PyObjCSupport)
+-
+--(PyObject*)__pyobjc_PythonObject__
+-{
+-	PyObject *rval;
+-
+-	rval = PyObjC_FindPythonProxy(self);
+-	if (rval == NULL) {
+-		rval = (PyObject *)PyObjCObject_New(self,
+-				PyObjCObject_kCLASSIC, NO);
+-		PyObjC_RegisterPythonProxy(self, rval);
+-	}
+-	return rval;
+-}
+-
+- at end /* PyObjCSupport */
+ 
+ @interface NSString (PyObjCSupport)
+ -(PyObject*)__pyobjc_PythonObject__;
+diff -rupN Modules-original/objc/selector.m Modules/objc/selector.m
+--- Modules-original/objc/selector.m	2010-06-24 17:53:29.000000000 +0900
++++ Modules/objc/selector.m	2012-05-12 01:49:44.000000000 +0900
+@@ -724,9 +724,6 @@
+ 	NSMethodSignature* methsig;
+ 	char  buf[1024];
+ 
+-	if (Object_class == nil) {
+-		Object_class = [Object class];
+-	}
+ 
+ 	if (name[0] == '_' && name[1] == '_') {
+ 		/* No known Objective-C class has methods whose name

Copied: trunk/dports/python/py-pyobjc/files/patch-Modules-2.2.diff (from rev 101402, trunk/dports/python/py25-pyobjc/files/patch-Modules.diff)
===================================================================
--- trunk/dports/python/py-pyobjc/files/patch-Modules-2.2.diff	                        (rev 0)
+++ trunk/dports/python/py-pyobjc/files/patch-Modules-2.2.diff	2013-01-10 18:01:14 UTC (rev 101408)
@@ -0,0 +1,116 @@
+diff -rupN Modules-original/objc/objc-runtime-compat.m Modules/objc/objc-runtime-compat.m
+--- Modules-original/objc/objc-runtime-compat.m	2009-05-25 03:56:04.000000000 +0900
++++ Modules/objc/objc-runtime-compat.m	2012-05-12 01:43:46.000000000 +0900
+@@ -981,27 +981,4 @@ size_t PyObjC_methodlist_magic(Class cls
+ 
+ #endif
+ 
+-#if defined(__x86_64__)
+ 
+- at implementation Protocol (NSOBjectCompat)
+-- self
+-{
+-	return self;
+-}
+- at end
+-
+- at implementation Object (NSOBjectCompat)
+-- self
+-{
+-	return self;
+-}
+-
+--doesNotRecognizeSelector:(SEL)sel
+-{
+-	printf("--> %s\n", sel_getName(sel));
+-	abort();
+-}
+- at end
+-	
+-
+-#endif
+diff -rupN Modules-original/objc/objc_support.m Modules/objc/objc_support.m
+--- Modules-original/objc/objc_support.m	2010-06-30 05:28:09.000000000 +0900
++++ Modules/objc/objc_support.m	2012-05-12 01:46:11.000000000 +0900
+@@ -150,68 +150,7 @@
+ -(PyObject*)__pyobjc_PythonTransient__:(int*)cookie;
+ @end /* PyObjCSupport */
+ 
+- at implementation Protocol (PyObjCSupport)
+ 
+--(PyObject*)__pyobjc_PythonObject__
+-{
+-	PyObject *rval;
+-
+-	rval = PyObjC_FindPythonProxy(self);
+-	if (rval == NULL) {
+-		rval = PyObjCFormalProtocol_ForProtocol(self);
+-	}
+-	return rval;
+-}
+-
+--(PyObject*)__pyobjc_PythonTransient__:(int*)cookie
+-{
+-	PyObject *rval;
+-
+-	*cookie = 0;
+-	rval = PyObjC_FindPythonProxy(self);
+-	if (rval == NULL) {
+-		rval = PyObjCFormalProtocol_ForProtocol(self);
+-	}
+-	return rval;
+-}
+-
+- at end /* PyObjCSupport */
+-
+- at interface Object (PyObjCSupport)
+--(PyObject*)__pyobjc_PythonObject__;
+--(PyObject*)__pyobjc_PythonTransient__:(int*)cookie;
+- at end /* PyObjCSupport */
+-
+- at implementation Object (PyObjCSupport)
+-
+--(PyObject*)__pyobjc_PythonObject__
+-{
+-	PyObject *rval;
+-
+-	rval = PyObjC_FindPythonProxy(self);
+-	if (rval == NULL) {
+-		rval = (PyObject *)PyObjCObject_New(self,
+-				PyObjCObject_kCLASSIC, NO);
+-		PyObjC_RegisterPythonProxy(self, rval);
+-	}
+-	return rval;
+-}
+-
+--(PyObject*)__pyobjc_PythonTransient__:(int*)cookie
+-{
+-	PyObject *rval;
+-
+-	*cookie = 0;
+-	rval = PyObjC_FindPythonProxy(self);
+-	if (rval == NULL) {
+-		rval = (PyObject *)PyObjCObject_New(self,
+-				PyObjCObject_kCLASSIC, NO);
+-		PyObjC_RegisterPythonProxy(self, rval);
+-	}
+-	return rval;
+-}
+-
+- at end /* PyObjCSupport */
+ 
+ @interface NSString (PyObjCSupport)
+ -(PyObject*)__pyobjc_PythonObject__;
+diff -rupN Modules-original/objc/selector.m Modules/objc/selector.m
+--- Modules-original/objc/selector.m	2010-06-24 17:53:29.000000000 +0900
++++ Modules/objc/selector.m	2012-05-12 01:49:44.000000000 +0900
+@@ -798,9 +798,6 @@ PyObjCSelector_FindNative(PyObject* self
+ 		}
+ 	}
+ 
+-	if (Object_class == nil) {
+-		Object_class = [Object class];
+-	}
+ 
+ 	if (name[0] == '_' && name[1] == '_') {
+ 		/* No known Objective-C class has methods whose name

Deleted: trunk/dports/python/py-pyobjc/files/patch-Modules.diff
===================================================================
--- trunk/dports/python/py-pyobjc2/files/patch-Modules.diff	2013-01-10 15:17:36 UTC (rev 101402)
+++ trunk/dports/python/py-pyobjc/files/patch-Modules.diff	2013-01-10 18:01:14 UTC (rev 101408)
@@ -1,93 +0,0 @@
-diff -rupN Modules-original/objc/objc-runtime-compat.m Modules/objc/objc-runtime-compat.m
---- Modules-original/objc/objc-runtime-compat.m	2009-05-25 03:56:04.000000000 +0900
-+++ Modules/objc/objc-runtime-compat.m	2012-05-12 01:43:46.000000000 +0900
-@@ -984,27 +984,3 @@
- 
- #endif
- 
--#if defined(__x86_64__)
--
-- at implementation Protocol (NSOBjectCompat)
--- self
--{
--	return self;
--}
-- at end
--
-- at implementation Object (NSOBjectCompat)
--- self
--{
--	return self;
--}
--
---doesNotRecognizeSelector:(SEL)sel
--{
--	printf("--> %s\n", sel);
--	abort();
--}
-- at end
--	
--
--#endif
-diff -rupN Modules-original/objc/objc_support.m Modules/objc/objc_support.m
---- Modules-original/objc/objc_support.m	2010-06-30 05:28:09.000000000 +0900
-+++ Modules/objc/objc_support.m	2012-05-12 01:46:11.000000000 +0900
-@@ -104,45 +104,6 @@
- 
- @end /* PyObjCSupport */
- 
-- at interface Protocol (PyObjCSupport)
---(PyObject*)__pyobjc_PythonObject__;
-- at end /* PyObjCSupport */
--
-- at implementation Protocol (PyObjCSupport)
--
---(PyObject*)__pyobjc_PythonObject__
--{
--	PyObject *rval;
--
--	rval = PyObjC_FindPythonProxy(self);
--	if (rval == NULL) {
--		rval = PyObjCFormalProtocol_ForProtocol(self);
--	}
--	return rval;
--}
--
-- at end /* PyObjCSupport */
--
-- at interface Object (PyObjCSupport)
---(PyObject*)__pyobjc_PythonObject__;
-- at end /* PyObjCSupport */
--
-- at implementation Object (PyObjCSupport)
--
---(PyObject*)__pyobjc_PythonObject__
--{
--	PyObject *rval;
--
--	rval = PyObjC_FindPythonProxy(self);
--	if (rval == NULL) {
--		rval = (PyObject *)PyObjCObject_New(self,
--				PyObjCObject_kCLASSIC, NO);
--		PyObjC_RegisterPythonProxy(self, rval);
--	}
--	return rval;
--}
--
-- at end /* PyObjCSupport */
- 
- @interface NSString (PyObjCSupport)
- -(PyObject*)__pyobjc_PythonObject__;
-diff -rupN Modules-original/objc/selector.m Modules/objc/selector.m
---- Modules-original/objc/selector.m	2010-06-24 17:53:29.000000000 +0900
-+++ Modules/objc/selector.m	2012-05-12 01:49:44.000000000 +0900
-@@ -724,9 +724,6 @@
- 	NSMethodSignature* methsig;
- 	char  buf[1024];
- 
--	if (Object_class == nil) {
--		Object_class = [Object class];
--	}
- 
- 	if (name[0] == '_' && name[1] == '_') {
- 		/* No known Objective-C class has methods whose name

Modified: trunk/dports/python/py-pyobjc2/Portfile
===================================================================
--- trunk/dports/python/py-pyobjc2/Portfile	2013-01-10 16:42:43 UTC (rev 101407)
+++ trunk/dports/python/py-pyobjc2/Portfile	2013-01-10 18:01:14 UTC (rev 101408)
@@ -2,54 +2,13 @@
 # $Id$
 
 PortSystem 1.0
-PortGroup python24 1.0
 
+replaced_by     py24-pyobjc
+PortGroup       obsolete 1.0
+
 name            py-pyobjc2
 version         2.0
-revision        1
+revision        2
 categories      python devel
-license         MIT
-maintainers     nomaintainer
-platforms       darwin
-description     bidirectional bridge between python and Objective C
-long_description    The PyObjC project aims to provide a bridge between \
-                the Python and Objective-C programming languages. The \
-                bridge is intended to be fully bidirectional, allowing \
-                the Python programmer to take full advantage of the \
-                power provided by various Objective-C based toolkits \
-                and the Objective-C programmer transparent access to \
-                Python based functionality.
 
 homepage        http://pyobjc.sourceforge.net/
-
-depends_lib-append     port:py24-distribute \
-                port:py24-py2app \
-                port:py24-elementtree
-
-fetch.type      svn
-svn.url         http://svn.red-bean.com/pyobjc/tags/r200-leopard/pyobjc-core/
-worksrcdir      pyobjc-core
-
-patchfiles      patch-PyErr_WarnEx.diff undef_snprintf.diff setup.py.diff
-
-if {${os.major} < 9} {
-    pre-fetch {
-        return -code error "PyObjC 2.0 requires Mac OS X 10.5"
-    }
-}
-
-platform darwin 12 {
-	patchfiles-append 		patch-Modules.diff
-}
-
-post-destroot {
-    xinstall -m 644 -W ${worksrcpath} HISTORIC.txt Install.html Install.txt \
-        License.txt NEWS.html NEWS.txt ReadMe.txt ReadMe.html \
-        ${destroot}${prefix}/share/doc/${name}
-    copy ${worksrcpath}/Doc ${destroot}${prefix}/share/doc/${name}/html
-    delete ${destroot}${prefix}/share/doc/${name}/examples
-    copy ${worksrcpath}/Examples \
-        ${destroot}${prefix}/share/doc/${name}/examples
-}
-
-livecheck.type  none
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130110/9774c771/attachment-0001.html>


More information about the macports-changes mailing list