[57086] trunk/dports/lang/python26

jmr at macports.org jmr at macports.org
Sun Sep 6 06:33:15 PDT 2009


Revision: 57086
          http://trac.macports.org/changeset/57086
Author:   jmr at macports.org
Date:     2009-09-06 06:33:11 -0700 (Sun, 06 Sep 2009)
Log Message:
-----------
python26: apply upstream fixes for 64-bit (#20284)

Modified Paths:
--------------
    trunk/dports/lang/python26/Portfile

Added Paths:
-----------
    trunk/dports/lang/python26/files/patch-64bit.diff

Removed Paths:
-------------
    trunk/dports/lang/python26/files/patch-configure-arch_only.diff

Modified: trunk/dports/lang/python26/Portfile
===================================================================
--- trunk/dports/lang/python26/Portfile	2009-09-06 13:05:20 UTC (rev 57085)
+++ trunk/dports/lang/python26/Portfile	2009-09-06 13:33:11 UTC (rev 57086)
@@ -43,12 +43,14 @@
                         patch-Mac-PythonLauncher-Makefile.in.diff \
                         patch-Mac-Tools-Doc-setup.py.diff \
                         patch-readlinefix.diff \
-                        patch-configure-arch_only.diff
+                        patch-64bit.diff
 
 depends_lib             port:gettext port:zlib port:openssl port:tk \
                         port:sqlite3 port:db46 port:ncurses port:gdbm \
                         port:bzip2 port:readline
 
+use_autoconf            yes
+
 configure.args          --enable-framework=${frameworks_dir} \
                         --enable-ipv6
 

Added: trunk/dports/lang/python26/files/patch-64bit.diff
===================================================================
--- trunk/dports/lang/python26/files/patch-64bit.diff	                        (rev 0)
+++ trunk/dports/lang/python26/files/patch-64bit.diff	2009-09-06 13:33:11 UTC (rev 57086)
@@ -0,0 +1,289 @@
+Index: configure.in
+===================================================================
+--- configure.in	(revision 74680)
++++ configure.in	(revision 74681)
+@@ -92,7 +92,6 @@
+ ])
+ AC_SUBST(UNIVERSALSDK)
+ 
+-ARCH_RUN_32BIT=
+ AC_SUBST(ARCH_RUN_32BIT)
+ 
+ UNIVERSAL_ARCHS="32-bit"
+@@ -921,6 +920,7 @@
+ 
+ 	         elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then
+ 		   UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64"
++		   ARCH_RUN_32BIT="true"
+ 
+ 	         elif test "$UNIVERSAL_ARCHS" = "all" ; then
+ 		   UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64"
+@@ -944,13 +944,23 @@
+ 	    cur_target=`sw_vers -productVersion | sed 's/\(10\.[[0-9]]*\).*/\1/'`
+ 	    if test ${cur_target} '>' 10.2; then
+ 		    cur_target=10.3
++		    if test ${enable_universalsdk}; then
++			    if test "${UNIVERSAL_ARCHS}" = "all"; then
++				    # Ensure that the default platform for a 
++				    # 4-way universal build is OSX 10.5, 
++				    # that's the first OS release where 
++				    # 4-way builds make sense.
++				    cur_target='10.5'
++			    fi
++		    else
++			    if test `arch` = "i386"; then
++				    # On Intel macs default to a deployment
++				    # target of 10.4, that's the first OSX
++				    # release with Intel support.
++				    cur_target="10.4"
++			    fi
++		    fi
+ 	    fi
+-	    if test "${UNIVERSAL_ARCHS}" = "all"; then
+-		    # Ensure that the default platform for a 4-way
+-		    # universal build is OSX 10.5, that's the first
+-		    # OS release where 4-way builds make sense.
+-		    cur_target='10.5'
+-	    fi
+ 	    CONFIGURE_MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET-${cur_target}}
+ 	    
+ 	    # Make sure that MACOSX_DEPLOYMENT_TARGET is set in the 
+@@ -1519,6 +1529,8 @@
+     ;;
+ esac
+ 
++
++ARCH_RUN_32BIT=""
+ AC_SUBST(LIBTOOL_CRUFT)
+ case $ac_sys_system/$ac_sys_release in
+   Darwin/@<:@01567@:>@\..*) 
+@@ -1526,7 +1538,7 @@
+     if test "${enable_universalsdk}"; then
+ 	    :
+     else
+-	LIBTOOL_CRUFT="${LIBTOOL_CRUFT} -arch_only `arch`"
++        LIBTOOL_CRUFT="${LIBTOOL_CRUFT} -arch_only `arch`"
+     fi
+     LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
+     LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
+@@ -1538,7 +1550,48 @@
+         else 
+             LIBTOOL_CRUFT=""
+     fi
+-    LIBTOOL_CRUFT=$LIBTOOL_CRUFT" -lSystem -lSystemStubs -arch_only `arch`"
++    AC_TRY_RUN([[
++    #include <unistd.h>
++    int main(int argc, char*argv[])
++    {
++      if (sizeof(long) == 4) {
++    	  return 0;
++      } else {
++      	  return 1;
++      }
++    ]], ac_osx_32bit=yes,
++       ac_osx_32bit=no,
++       ac_osx_32bit=no)
++    
++    if test "${ac_osx_32bit}" = "yes"; then
++    	case `arch` in
++    	i386) 
++    		MACOSX_DEFAULT_ARCH="i386" 
++    		;;
++    	ppc) 
++    		MACOSX_DEFAULT_ARCH="ppc" 
++    		;;
++    	*)
++    		AC_MSG_ERROR([Unexpected output of 'arch' on OSX])
++    		;;
++    	esac
++    else
++    	case `arch` in
++    	i386) 
++    		MACOSX_DEFAULT_ARCH="x86_64" 
++    		;;
++    	ppc) 
++    		MACOSX_DEFAULT_ARCH="ppc64" 
++    		;;
++    	*)
++    		AC_MSG_ERROR([Unexpected output of 'arch' on OSX])
++    		;;
++    	esac
++
++	#ARCH_RUN_32BIT="true"
++    fi
++
++    LIBTOOL_CRUFT=$LIBTOOL_CRUFT" -lSystem -lSystemStubs -arch_only ${MACOSX_DEFAULT_ARCH}"
+     LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
+     LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
+ esac
+Index: Mac/scripts/BuildApplet.py
+===================================================================
+--- Mac/scripts/BuildApplet.py	(revision 74680)
++++ Mac/scripts/BuildApplet.py	(revision 74681)
+@@ -12,7 +12,10 @@
+ 
+ import os
+ import MacOS
+-import EasyDialogs
++try:
++    import EasyDialogs
++except ImportError:
++    EasyDialogs = None
+ import buildtools
+ import getopt
+ 
+@@ -32,7 +35,10 @@
+     try:
+         buildapplet()
+     except buildtools.BuildError, detail:
+-        EasyDialogs.Message(detail)
++        if EasyDialogs is None:
++            print detail
++        else:
++            EasyDialogs.Message(detail)
+ 
+ 
+ def buildapplet():
+@@ -46,6 +52,10 @@
+     # Ask for source text if not specified in sys.argv[1:]
+ 
+     if not sys.argv[1:]:
++        if EasyDialogs is None:
++            usage()
++            sys.exit(1)
++
+         filename = EasyDialogs.AskFileForOpen(message='Select Python source or applet:',
+                 typeList=('TEXT', 'APPL'))
+         if not filename:
+Index: Lib/test/test_aepack.py
+===================================================================
+--- Lib/test/test_aepack.py	(revision 74680)
++++ Lib/test/test_aepack.py	(revision 74681)
+@@ -59,6 +59,9 @@
+             import Carbon.File
+         except:
+             return
++
++        if not hasattr(Carbon.File, "FSSpec"):
++            return
+         o = Carbon.File.FSSpec(os.curdir)
+         packed = aepack.pack(o)
+         unpacked = aepack.unpack(packed)
+@@ -69,6 +72,8 @@
+             import Carbon.File
+         except:
+             return
++        if not hasattr(Carbon.File, "FSSpec"):
++            return
+         o = Carbon.File.FSSpec(os.curdir).NewAliasMinimal()
+         packed = aepack.pack(o)
+         unpacked = aepack.unpack(packed)
+Index: Lib/plat-mac/applesingle.py
+===================================================================
+--- Lib/plat-mac/applesingle.py	(revision 74680)
++++ Lib/plat-mac/applesingle.py	(revision 74681)
+@@ -119,8 +119,13 @@
+     if not hasattr(infile, 'read'):
+         if isinstance(infile, Carbon.File.Alias):
+             infile = infile.ResolveAlias()[0]
+-        if isinstance(infile, (Carbon.File.FSSpec, Carbon.File.FSRef)):
+-            infile = infile.as_pathname()
++
++        if hasattr(Carbon.File, "FSSpec"):
++            if isinstance(infile, (Carbon.File.FSSpec, Carbon.File.FSRef)):
++                infile = infile.as_pathname()
++        else:
++            if isinstance(infile, Carbon.File.FSRef):
++                infile = infile.as_pathname()
+         infile = open(infile, 'rb')
+ 
+     asfile = AppleSingle(infile, verbose=verbose)
+Index: Lib/plat-mac/macresource.py
+===================================================================
+--- Lib/plat-mac/macresource.py	(revision 74680)
++++ Lib/plat-mac/macresource.py	(revision 74681)
+@@ -79,8 +79,8 @@
+     AppleSingle file"""
+     try:
+         refno = Res.FSpOpenResFile(pathname, 1)
+-    except Res.Error, arg:
+-        if arg[0] in (-37, -39):
++    except (AttributeError, Res.Error), arg:
++        if isinstance(arg, AttributeError) or arg[0] in (-37, -39):
+             # No resource fork. We may be on OSX, and this may be either
+             # a data-fork based resource file or a AppleSingle file
+             # from the CVS repository.
+@@ -106,8 +106,8 @@
+     try:
+         refno = Res.FSpOpenResFile(pathname, 1)
+         Res.CloseResFile(refno)
+-    except Res.Error, arg:
+-        if arg[0] in (-37, -39):
++    except (AttributeError, Res.Error), arg:
++        if isinstance(arg, AttributeError) or arg[0] in (-37, -39):
+             # No resource fork. We may be on OSX, and this may be either
+             # a data-fork based resource file or a AppleSingle file
+             # from the CVS repository.
+Index: Lib/plat-mac/buildtools.py
+===================================================================
+--- Lib/plat-mac/buildtools.py	(revision 74680)
++++ Lib/plat-mac/buildtools.py	(revision 74681)
+@@ -15,7 +15,10 @@
+ import MacOS
+ import macostools
+ import macresource
+-import EasyDialogs
++try:
++    import EasyDialogs
++except ImportError:
++    EasyDialogs = None
+ import shutil
+ 
+ 
+@@ -67,9 +70,13 @@
+         rsrcname=None, others=[], raw=0, progress="default", destroot=""):
+ 
+     if progress == "default":
+-        progress = EasyDialogs.ProgressBar("Processing %s..."%os.path.split(filename)[1], 120)
+-        progress.label("Compiling...")
+-        progress.inc(0)
++        if EasyDialogs is None:
++            print "Compiling %s"%(os.path.split(filename)[1],)
++            process = None
++        else:
++            progress = EasyDialogs.ProgressBar("Processing %s..."%os.path.split(filename)[1], 120)
++            progress.label("Compiling...")
++            progress.inc(0)
+     # check for the script name being longer than 32 chars. This may trigger a bug
+     # on OSX that can destroy your sourcefile.
+     if '#' in os.path.split(filename)[1]:
+@@ -119,7 +126,11 @@
+     if MacOS.runtimemodel == 'macho':
+         raise BuildError, "No updating yet for MachO applets"
+     if progress:
+-        progress = EasyDialogs.ProgressBar("Updating %s..."%os.path.split(filename)[1], 120)
++        if EasyDialogs is None:
++            print "Updating %s"%(os.path.split(filename)[1],)
++            progress = None
++        else:
++            progress = EasyDialogs.ProgressBar("Updating %s..."%os.path.split(filename)[1], 120)
+     else:
+         progress = None
+     if not output:
+Index: Lib/plat-mac/aepack.py
+===================================================================
+--- Lib/plat-mac/aepack.py	(revision 74680)
++++ Lib/plat-mac/aepack.py	(revision 74681)
+@@ -58,7 +58,11 @@
+ # Some python types we need in the packer:
+ #
+ AEDescType = AE.AEDescType
+-FSSType = Carbon.File.FSSpecType
++try:
++    FSSType = Carbon.File.FSSpecType
++except AttributeError:
++    class FSSType:
++        pass
+ FSRefType = Carbon.File.FSRefType
+ AliasType = Carbon.File.AliasType
+ 

Deleted: trunk/dports/lang/python26/files/patch-configure-arch_only.diff
===================================================================
--- trunk/dports/lang/python26/files/patch-configure-arch_only.diff	2009-09-06 13:05:20 UTC (rev 57085)
+++ trunk/dports/lang/python26/files/patch-configure-arch_only.diff	2009-09-06 13:33:11 UTC (rev 57086)
@@ -1,20 +0,0 @@
---- configure.orig	2009-08-30 05:49:17.000000000 +1000
-+++ configure	2009-09-03 08:26:40.000000000 +1000
-@@ -12920,7 +12920,7 @@
-     if test "${enable_universalsdk}"; then
- 	    :
-     else
--	LIBTOOL_CRUFT="${LIBTOOL_CRUFT} -arch_only `arch`"
-+	LIBTOOL_CRUFT="${LIBTOOL_CRUFT}"
-     fi
-     LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
-     LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
-@@ -12932,7 +12932,7 @@
-         else
-             LIBTOOL_CRUFT=""
-     fi
--    LIBTOOL_CRUFT=$LIBTOOL_CRUFT" -lSystem -lSystemStubs -arch_only `arch`"
-+    LIBTOOL_CRUFT=$LIBTOOL_CRUFT" -lSystem -lSystemStubs"
-     LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
-     LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
- esac
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090906/34ac4848/attachment-0001.html>


More information about the macports-changes mailing list