[Python-checkins] r74681 - in python/branches/release26-maint: Lib/plat-mac/aepack.py Lib/plat-mac/applesingle.py Lib/plat-mac/buildtools.py Lib/plat-mac/macresource.py Lib/test/test_aepack.py Mac/scripts/BuildApplet.py Misc/NEWS configure.in
ronald.oussoren
python-checkins at python.org
Sun Sep 6 12:54:28 CEST 2009
Author: ronald.oussoren
Date: Sun Sep 6 12:54:28 2009
New Revision: 74681
Log:
Merged revisions 74672 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r74672 | ronald.oussoren | 2009-09-06 12:00:26 +0200 (Sun, 06 Sep 2009) | 1 line
Fix build issues on OSX 10.6 (issue 6802)
........
Modified:
python/branches/release26-maint/ (props changed)
python/branches/release26-maint/Lib/plat-mac/aepack.py
python/branches/release26-maint/Lib/plat-mac/applesingle.py
python/branches/release26-maint/Lib/plat-mac/buildtools.py
python/branches/release26-maint/Lib/plat-mac/macresource.py
python/branches/release26-maint/Lib/test/test_aepack.py
python/branches/release26-maint/Mac/scripts/BuildApplet.py
python/branches/release26-maint/Misc/NEWS
python/branches/release26-maint/configure.in
Modified: python/branches/release26-maint/Lib/plat-mac/aepack.py
==============================================================================
--- python/branches/release26-maint/Lib/plat-mac/aepack.py (original)
+++ python/branches/release26-maint/Lib/plat-mac/aepack.py Sun Sep 6 12:54:28 2009
@@ -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
Modified: python/branches/release26-maint/Lib/plat-mac/applesingle.py
==============================================================================
--- python/branches/release26-maint/Lib/plat-mac/applesingle.py (original)
+++ python/branches/release26-maint/Lib/plat-mac/applesingle.py Sun Sep 6 12:54:28 2009
@@ -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)
Modified: python/branches/release26-maint/Lib/plat-mac/buildtools.py
==============================================================================
--- python/branches/release26-maint/Lib/plat-mac/buildtools.py (original)
+++ python/branches/release26-maint/Lib/plat-mac/buildtools.py Sun Sep 6 12:54:28 2009
@@ -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:
Modified: python/branches/release26-maint/Lib/plat-mac/macresource.py
==============================================================================
--- python/branches/release26-maint/Lib/plat-mac/macresource.py (original)
+++ python/branches/release26-maint/Lib/plat-mac/macresource.py Sun Sep 6 12:54:28 2009
@@ -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 instance(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.
Modified: python/branches/release26-maint/Lib/test/test_aepack.py
==============================================================================
--- python/branches/release26-maint/Lib/test/test_aepack.py (original)
+++ python/branches/release26-maint/Lib/test/test_aepack.py Sun Sep 6 12:54:28 2009
@@ -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)
Modified: python/branches/release26-maint/Mac/scripts/BuildApplet.py
==============================================================================
--- python/branches/release26-maint/Mac/scripts/BuildApplet.py (original)
+++ python/branches/release26-maint/Mac/scripts/BuildApplet.py Sun Sep 6 12:54:28 2009
@@ -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:
Modified: python/branches/release26-maint/Misc/NEWS
==============================================================================
--- python/branches/release26-maint/Misc/NEWS (original)
+++ python/branches/release26-maint/Misc/NEWS Sun Sep 6 12:54:28 2009
@@ -185,6 +185,8 @@
Build
-----
+- Issue #6802: Fix build issues on MacOSX 10.6
+
- Issue 5390: Add uninstall icon independent of whether file
extensions are installed.
Modified: python/branches/release26-maint/configure.in
==============================================================================
--- python/branches/release26-maint/configure.in (original)
+++ python/branches/release26-maint/configure.in Sun Sep 6 12:54:28 2009
@@ -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,12 +944,22 @@
cur_target=`sw_vers -productVersion | sed 's/\(10\.[[0-9]]*\).*/\1/'`
if test ${cur_target} '>' 10.2; then
cur_target=10.3
- 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'
+ 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
CONFIGURE_MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET-${cur_target}}
@@ -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
More information about the Python-checkins
mailing list