[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