diff --git a/plugins/python-build/share/python-build/patches/2.5.1/Python-2.5.1/002_darwin_c_source.patch b/plugins/python-build/share/python-build/patches/2.5.1/Python-2.5.1/002_darwin_c_source.patch new file mode 100644 index 00000000..8cef44ad --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.5.1/Python-2.5.1/002_darwin_c_source.patch @@ -0,0 +1,166 @@ +diff -r -u ./configure ../Python-2.5/configure +--- ./configure 2006-09-05 11:54:42.000000000 +0900 ++++ ../Python-2.5/configure 2013-07-19 15:27:46.000000000 +0900 +@@ -1396,6 +1396,16 @@ + _ACEOF + + ++# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables ++# certain features on Mac OS X, so we need _DARWIN_C_SOURCE to re-enable ++# them. ++ ++cat >>confdefs.h <<\_ACEOF ++#define _DARWIN_C_SOURCE 1 ++_ACEOF ++ ++ ++ + define_xopen_source=yes + + # Arguments passed to configure. +@@ -3885,11 +3895,110 @@ + ;; + # is there any other compiler on Darwin besides gcc? + Darwin*) +- BASECFLAGS="$BASECFLAGS -Wno-long-double -no-cpp-precomp -mno-fused-madd" ++ # -Wno-long-double, -no-cpp-precomp, and -mno-fused-madd ++ # used to be here, but non-Apple gcc doesn't accept them. ++ if test "${CC}" = gcc ++ then ++ { echo "$as_me:${as_lineno-$LINENO}: checking which compiler should be used" >&5 ++echo -n "checking which compiler should be used... " >&6; } ++ case "${UNIVERSALSDK}" in ++ */MacOSX10.4u.sdk) ++ # Build using 10.4 SDK, force usage of gcc when the ++ # compiler is gcc, otherwise the user will get very ++ # confusing error messages when building on OSX 10.6 ++ CC=gcc-4.0 ++ CPP=cpp-4.0 ++ ;; ++ esac ++ { echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++echo "$CC" >&6; } ++ fi ++ ++ + if test "${enable_universalsdk}"; then +- BASECFLAGS="-arch ppc -arch i386 -isysroot ${UNIVERSALSDK} ${BASECFLAGS}" ++ UNIVERSAL_ARCH_FLAGS="" ++ if test "$UNIVERSAL_ARCHS" = "32-bit" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386" ++ ARCH_RUN_32BIT="" ++ LIPO_32BIT_FLAGS="" ++ elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64" ++ LIPO_32BIT_FLAGS="" ++ ARCH_RUN_32BIT="true" ++ ++ elif test "$UNIVERSAL_ARCHS" = "all" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ++ ++ elif test "$UNIVERSAL_ARCHS" = "intel" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386" ++ ++ elif test "$UNIVERSAL_ARCHS" = "3-way" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ++ ++ else ++ as_fn_error $? "proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way" "$LINENO" 5 ++ ++ fi ++ ++ ++ CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" ++ if test "${UNIVERSALSDK}" != "/" ++ then ++ CFLAGS="-isysroot ${UNIVERSALSDK} ${CFLAGS}" ++ LDFLAGS="-isysroot ${UNIVERSALSDK} ${LDFLAGS}" ++ CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}" ++ fi + fi + ++ # Calculate the right deployment target for this build. ++ # ++ cur_target=`sw_vers -productVersion | sed 's/\(10\.[0-9]*\).*/\1/'` ++ if test ${cur_target} '>' 10.2 && \ ++ test ${cur_target} '<' 10.6 ++ 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' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "3-way"; then ++ cur_target='10.5' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "intel"; then ++ cur_target='10.5' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "64-bit"; then ++ cur_target='10.5' ++ fi ++ else ++ if test `/usr/bin/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}} ++ ++ # Make sure that MACOSX_DEPLOYMENT_TARGET is set in the ++ # environment with a value that is the same as what we'll use ++ # in the Makefile to ensure that we'll get the same compiler ++ # environment during configure and build time. ++ MACOSX_DEPLOYMENT_TARGET="$CONFIGURE_MACOSX_DEPLOYMENT_TARGET" ++ export MACOSX_DEPLOYMENT_TARGET ++ EXPORT_MACOSX_DEPLOYMENT_TARGET='' ++ + ;; + OSF*) + BASECFLAGS="$BASECFLAGS -mieee" +@@ -10851,7 +10960,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)';; +@@ -10863,7 +10972,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 +diff -r -u ./pyconfig.h.in ../Python-2.5/pyconfig.h.in +--- ./pyconfig.h.in 2006-07-30 23:09:47.000000000 +0900 ++++ ../Python-2.5/pyconfig.h.in 2013-07-17 23:12:31.000000000 +0900 +@@ -912,6 +912,11 @@ + /* Define on Irix to enable u_int */ + #undef _BSD_TYPES + ++/* Define on Darwin to activate all library features */ ++#ifndef _DARWIN_C_SOURCE ++#define _DARWIN_C_SOURCE ++#endif ++ + /* This must be set to 64 on some systems to enable large file support. */ + #undef _FILE_OFFSET_BITS + diff --git a/plugins/python-build/share/python-build/patches/2.5.1/Python-2.5.1/003_osx_lp64.patch b/plugins/python-build/share/python-build/patches/2.5.1/Python-2.5.1/003_osx_lp64.patch new file mode 100644 index 00000000..fc07fc12 --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.5.1/Python-2.5.1/003_osx_lp64.patch @@ -0,0 +1,271 @@ +diff -r -u ./Include/pymactoolbox.h ../Python-2.5/Include/pymactoolbox.h +--- ./Include/pymactoolbox.h 2004-11-05 16:02:59.000000000 +0900 ++++ ../Python-2.5/Include/pymactoolbox.h 2013-07-17 23:38:51.000000000 +0900 +@@ -8,7 +8,10 @@ + #endif + + #include ++ ++#ifndef __LP64__ + #include ++#endif /* !__LP64__ */ + + /* + ** Helper routines for error codes and such. +@@ -18,8 +21,11 @@ + PyObject *PyMac_GetOSErrException(void); /* Initialize & return it */ + PyObject *PyErr_Mac(PyObject *, int); /* Exception with a mac error */ + PyObject *PyMac_Error(OSErr); /* Uses PyMac_GetOSErrException */ ++#ifndef __LP64__ + extern OSErr PyMac_GetFullPathname(FSSpec *, char *, int); /* convert + fsspec->path */ ++#endif /* __LP64__ */ ++ + /* + ** These conversion routines are defined in mactoolboxglue.c itself. + */ +@@ -83,8 +89,10 @@ + #endif /* USE_TOOLBOX_OBJECT_GLUE */ + + /* macfs exports */ ++#ifndef __LP64__ + int PyMac_GetFSSpec(PyObject *, FSSpec *); /* argument parser for FSSpec */ + PyObject *PyMac_BuildFSSpec(FSSpec *); /* Convert FSSpec to PyObject */ ++#endif /* !__LP64__ */ + + int PyMac_GetFSRef(PyObject *, FSRef *); /* argument parser for FSRef */ + PyObject *PyMac_BuildFSRef(FSRef *); /* Convert FSRef to PyObject */ +@@ -101,39 +109,54 @@ + extern int CmpInstObj_Convert(PyObject *, ComponentInstance *); + + /* Ctl exports */ ++#ifndef __LP64__ + extern PyObject *CtlObj_New(ControlHandle); + extern int CtlObj_Convert(PyObject *, ControlHandle *); ++#endif /* !__LP64__ */ + + /* Dlg exports */ ++#ifndef __LP64__ + extern PyObject *DlgObj_New(DialogPtr); + extern int DlgObj_Convert(PyObject *, DialogPtr *); + extern PyObject *DlgObj_WhichDialog(DialogPtr); ++#endif /* !__LP64__ */ + + /* Drag exports */ ++#ifndef __LP64__ + extern PyObject *DragObj_New(DragReference); + extern int DragObj_Convert(PyObject *, DragReference *); ++#endif /* !__LP64__ */ + + /* List exports */ ++#ifndef __LP64__ + extern PyObject *ListObj_New(ListHandle); + extern int ListObj_Convert(PyObject *, ListHandle *); ++#endif /* !__LP64__ */ + + /* Menu exports */ ++#ifndef __LP64__ + extern PyObject *MenuObj_New(MenuHandle); + extern int MenuObj_Convert(PyObject *, MenuHandle *); ++#endif /* !__LP64__ */ + + /* Qd exports */ ++#ifndef __LP64__ + extern PyObject *GrafObj_New(GrafPtr); + extern int GrafObj_Convert(PyObject *, GrafPtr *); + extern PyObject *BMObj_New(BitMapPtr); + extern int BMObj_Convert(PyObject *, BitMapPtr *); + extern PyObject *QdRGB_New(RGBColor *); + extern int QdRGB_Convert(PyObject *, RGBColor *); ++#endif /* !__LP64__ */ + + /* Qdoffs exports */ ++#ifndef __LP64__ + extern PyObject *GWorldObj_New(GWorldPtr); + extern int GWorldObj_Convert(PyObject *, GWorldPtr *); ++#endif /* !__LP64__ */ + + /* Qt exports */ ++#ifndef __LP64__ + extern PyObject *TrackObj_New(Track); + extern int TrackObj_Convert(PyObject *, Track *); + extern PyObject *MovieObj_New(Movie); +@@ -146,6 +169,7 @@ + extern int UserDataObj_Convert(PyObject *, UserData *); + extern PyObject *MediaObj_New(Media); + extern int MediaObj_Convert(PyObject *, Media *); ++#endif /* !__LP64__ */ + + /* Res exports */ + extern PyObject *ResObj_New(Handle); +@@ -154,13 +178,17 @@ + extern int OptResObj_Convert(PyObject *, Handle *); + + /* TE exports */ ++#ifndef __LP64__ + extern PyObject *TEObj_New(TEHandle); + extern int TEObj_Convert(PyObject *, TEHandle *); ++#endif /* !__LP64__ */ + + /* Win exports */ ++#ifndef __LP64__ + extern PyObject *WinObj_New(WindowPtr); + extern int WinObj_Convert(PyObject *, WindowPtr *); + extern PyObject *WinObj_WhichWindow(WindowPtr); ++#endif /* !__LP64__ */ + + /* CF exports */ + extern PyObject *CFObj_New(CFTypeRef); +diff -r -u ./Mac/Modules/res/_Resmodule.c ../Python-2.5/Mac/Modules/res/_Resmodule.c +--- ./Mac/Modules/res/_Resmodule.c 2005-07-04 05:59:44.000000000 +0900 ++++ ../Python-2.5/Mac/Modules/res/_Resmodule.c 2013-07-17 23:38:51.000000000 +0900 +@@ -414,6 +414,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *ResObj_as_Control(ResourceObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -431,6 +432,7 @@ + return _res; + + } ++#endif /* !__LP64__ */ + + static PyObject *ResObj_LoadResource(ResourceObject *_self, PyObject *_args) + { +@@ -1152,6 +1154,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_OpenRFPerm(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1287,6 +1290,7 @@ + _res = Py_None; + return _res; + } ++#endif /* !__LP64__ */ + + static PyObject *Res_InsertResourceFile(PyObject *_self, PyObject *_args) + { +@@ -1327,6 +1331,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_FSpResourceFileAlreadyOpen(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1413,6 +1418,7 @@ + nextRefNum); + return _res; + } ++#endif /* !__LP64__ */ + + static PyObject *Res_FSOpenResFile(PyObject *_self, PyObject *_args) + { +@@ -1438,6 +1444,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_FSCreateResFile(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1534,6 +1541,7 @@ + PyMac_BuildFSSpec, &newSpec); + return _res; + } ++#endif /* __LP64__ */ + + static PyObject *Res_FSOpenResourceFile(PyObject *_self, PyObject *_args) + { +@@ -1637,6 +1645,7 @@ + PyDoc_STR("(short refNum) -> (short _rv)")}, + {"SetResFileAttrs", (PyCFunction)Res_SetResFileAttrs, 1, + PyDoc_STR("(short refNum, short attrs) -> None")}, ++#ifndef __LP64__ + {"OpenRFPerm", (PyCFunction)Res_OpenRFPerm, 1, + PyDoc_STR("(Str255 fileName, short vRefNum, SignedByte permission) -> (short _rv)")}, + {"HOpenResFile", (PyCFunction)Res_HOpenResFile, 1, +@@ -1647,10 +1656,12 @@ + PyDoc_STR("(FSSpec spec, SignedByte permission) -> (short _rv)")}, + {"FSpCreateResFile", (PyCFunction)Res_FSpCreateResFile, 1, + PyDoc_STR("(FSSpec spec, OSType creator, OSType fileType, ScriptCode scriptTag) -> None")}, ++#endif /* !__LP64__ */ + {"InsertResourceFile", (PyCFunction)Res_InsertResourceFile, 1, + PyDoc_STR("(SInt16 refNum, RsrcChainLocation where) -> None")}, + {"DetachResourceFile", (PyCFunction)Res_DetachResourceFile, 1, + PyDoc_STR("(SInt16 refNum) -> None")}, ++#ifndef __LP64__ + {"FSpResourceFileAlreadyOpen", (PyCFunction)Res_FSpResourceFileAlreadyOpen, 1, + PyDoc_STR("(FSSpec resourceFile) -> (Boolean _rv, Boolean inChain, SInt16 refNum)")}, + {"FSpOpenOrphanResFile", (PyCFunction)Res_FSpOpenOrphanResFile, 1, +@@ -1659,14 +1670,17 @@ + PyDoc_STR("() -> (SInt16 refNum)")}, + {"GetNextResourceFile", (PyCFunction)Res_GetNextResourceFile, 1, + PyDoc_STR("(SInt16 curRefNum) -> (SInt16 nextRefNum)")}, ++#endif /* __LP64__ */ + {"FSOpenResFile", (PyCFunction)Res_FSOpenResFile, 1, + PyDoc_STR("(FSRef ref, SignedByte permission) -> (short _rv)")}, ++#ifndef __LP64__ + {"FSCreateResFile", (PyCFunction)Res_FSCreateResFile, 1, + PyDoc_STR("(FSRef parentRef, Buffer nameLength) -> (FSRef newRef, FSSpec newSpec)")}, + {"FSResourceFileAlreadyOpen", (PyCFunction)Res_FSResourceFileAlreadyOpen, 1, + PyDoc_STR("(FSRef resourceFileRef) -> (Boolean _rv, Boolean inChain, SInt16 refNum)")}, + {"FSCreateResourceFile", (PyCFunction)Res_FSCreateResourceFile, 1, + PyDoc_STR("(FSRef parentRef, Buffer nameLength, Buffer forkNameLength) -> (FSRef newRef, FSSpec newSpec)")}, ++#endif /* __LP64__ */ + {"FSOpenResourceFile", (PyCFunction)Res_FSOpenResourceFile, 1, + PyDoc_STR("(FSRef ref, Buffer forkNameLength, SignedByte permissions) -> (SInt16 refNum)")}, + {"Handle", (PyCFunction)Res_Handle, 1, +diff -r -u ./Modules/_ctypes/libffi/src/darwin/ffitarget.h ../Python-2.5/Modules/_ctypes/libffi/src/darwin/ffitarget.h +--- ./Modules/_ctypes/libffi/src/darwin/ffitarget.h 2006-05-26 06:58:05.000000000 +0900 ++++ ../Python-2.5/Modules/_ctypes/libffi/src/darwin/ffitarget.h 2013-07-17 23:38:51.000000000 +0900 +@@ -4,7 +4,7 @@ + * created by configure). This makes is possible to build a univeral binary + * of ctypes in one go. + */ +-#if defined(__i386__) ++#if defined(__i386__) || defined(__x86_64__) + + #ifndef X86_DARWIN + #define X86_DARWIN +diff -r -u ./Python/mactoolboxglue.c ../Python-2.5/Python/mactoolboxglue.c +--- ./Python/mactoolboxglue.c 2006-07-12 01:44:25.000000000 +0900 ++++ ../Python-2.5/Python/mactoolboxglue.c 2013-07-17 23:39:09.000000000 +0900 +@@ -106,6 +106,7 @@ + } + + ++#ifndef __LP64__ + OSErr + PyMac_GetFullPathname(FSSpec *fss, char *path, int len) + { +@@ -153,6 +154,7 @@ + Py_XDECREF(fs); + return err; + } ++#endif /* !__LP64__ */ + + /* Convert a 4-char string object argument to an OSType value */ + int +@@ -417,6 +419,7 @@ + GLUE_NEW(GWorldPtr, GWorldObj_New, "Carbon.Qdoffs") + GLUE_CONVERT(GWorldPtr, GWorldObj_Convert, "Carbon.Qdoffs") + ++#ifndef __LP64__ + GLUE_NEW(Track, TrackObj_New, "Carbon.Qt") + GLUE_CONVERT(Track, TrackObj_Convert, "Carbon.Qt") + GLUE_NEW(Movie, MovieObj_New, "Carbon.Qt") +@@ -429,6 +432,7 @@ + GLUE_CONVERT(UserData, UserDataObj_Convert, "Carbon.Qt") + GLUE_NEW(Media, MediaObj_New, "Carbon.Qt") + GLUE_CONVERT(Media, MediaObj_Convert, "Carbon.Qt") ++#endif /* !__LP64__ */ + + GLUE_NEW(Handle, ResObj_New, "Carbon.Res") + GLUE_CONVERT(Handle, ResObj_Convert, "Carbon.Res") diff --git a/plugins/python-build/share/python-build/patches/2.5.2/Python-2.5.2/002_darwin_c_source.patch b/plugins/python-build/share/python-build/patches/2.5.2/Python-2.5.2/002_darwin_c_source.patch new file mode 100644 index 00000000..8cef44ad --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.5.2/Python-2.5.2/002_darwin_c_source.patch @@ -0,0 +1,166 @@ +diff -r -u ./configure ../Python-2.5/configure +--- ./configure 2006-09-05 11:54:42.000000000 +0900 ++++ ../Python-2.5/configure 2013-07-19 15:27:46.000000000 +0900 +@@ -1396,6 +1396,16 @@ + _ACEOF + + ++# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables ++# certain features on Mac OS X, so we need _DARWIN_C_SOURCE to re-enable ++# them. ++ ++cat >>confdefs.h <<\_ACEOF ++#define _DARWIN_C_SOURCE 1 ++_ACEOF ++ ++ ++ + define_xopen_source=yes + + # Arguments passed to configure. +@@ -3885,11 +3895,110 @@ + ;; + # is there any other compiler on Darwin besides gcc? + Darwin*) +- BASECFLAGS="$BASECFLAGS -Wno-long-double -no-cpp-precomp -mno-fused-madd" ++ # -Wno-long-double, -no-cpp-precomp, and -mno-fused-madd ++ # used to be here, but non-Apple gcc doesn't accept them. ++ if test "${CC}" = gcc ++ then ++ { echo "$as_me:${as_lineno-$LINENO}: checking which compiler should be used" >&5 ++echo -n "checking which compiler should be used... " >&6; } ++ case "${UNIVERSALSDK}" in ++ */MacOSX10.4u.sdk) ++ # Build using 10.4 SDK, force usage of gcc when the ++ # compiler is gcc, otherwise the user will get very ++ # confusing error messages when building on OSX 10.6 ++ CC=gcc-4.0 ++ CPP=cpp-4.0 ++ ;; ++ esac ++ { echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++echo "$CC" >&6; } ++ fi ++ ++ + if test "${enable_universalsdk}"; then +- BASECFLAGS="-arch ppc -arch i386 -isysroot ${UNIVERSALSDK} ${BASECFLAGS}" ++ UNIVERSAL_ARCH_FLAGS="" ++ if test "$UNIVERSAL_ARCHS" = "32-bit" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386" ++ ARCH_RUN_32BIT="" ++ LIPO_32BIT_FLAGS="" ++ elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64" ++ LIPO_32BIT_FLAGS="" ++ ARCH_RUN_32BIT="true" ++ ++ elif test "$UNIVERSAL_ARCHS" = "all" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ++ ++ elif test "$UNIVERSAL_ARCHS" = "intel" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386" ++ ++ elif test "$UNIVERSAL_ARCHS" = "3-way" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ++ ++ else ++ as_fn_error $? "proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way" "$LINENO" 5 ++ ++ fi ++ ++ ++ CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" ++ if test "${UNIVERSALSDK}" != "/" ++ then ++ CFLAGS="-isysroot ${UNIVERSALSDK} ${CFLAGS}" ++ LDFLAGS="-isysroot ${UNIVERSALSDK} ${LDFLAGS}" ++ CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}" ++ fi + fi + ++ # Calculate the right deployment target for this build. ++ # ++ cur_target=`sw_vers -productVersion | sed 's/\(10\.[0-9]*\).*/\1/'` ++ if test ${cur_target} '>' 10.2 && \ ++ test ${cur_target} '<' 10.6 ++ 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' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "3-way"; then ++ cur_target='10.5' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "intel"; then ++ cur_target='10.5' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "64-bit"; then ++ cur_target='10.5' ++ fi ++ else ++ if test `/usr/bin/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}} ++ ++ # Make sure that MACOSX_DEPLOYMENT_TARGET is set in the ++ # environment with a value that is the same as what we'll use ++ # in the Makefile to ensure that we'll get the same compiler ++ # environment during configure and build time. ++ MACOSX_DEPLOYMENT_TARGET="$CONFIGURE_MACOSX_DEPLOYMENT_TARGET" ++ export MACOSX_DEPLOYMENT_TARGET ++ EXPORT_MACOSX_DEPLOYMENT_TARGET='' ++ + ;; + OSF*) + BASECFLAGS="$BASECFLAGS -mieee" +@@ -10851,7 +10960,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)';; +@@ -10863,7 +10972,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 +diff -r -u ./pyconfig.h.in ../Python-2.5/pyconfig.h.in +--- ./pyconfig.h.in 2006-07-30 23:09:47.000000000 +0900 ++++ ../Python-2.5/pyconfig.h.in 2013-07-17 23:12:31.000000000 +0900 +@@ -912,6 +912,11 @@ + /* Define on Irix to enable u_int */ + #undef _BSD_TYPES + ++/* Define on Darwin to activate all library features */ ++#ifndef _DARWIN_C_SOURCE ++#define _DARWIN_C_SOURCE ++#endif ++ + /* This must be set to 64 on some systems to enable large file support. */ + #undef _FILE_OFFSET_BITS + diff --git a/plugins/python-build/share/python-build/patches/2.5.2/Python-2.5.2/003_osx_lp64.patch b/plugins/python-build/share/python-build/patches/2.5.2/Python-2.5.2/003_osx_lp64.patch new file mode 100644 index 00000000..fc07fc12 --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.5.2/Python-2.5.2/003_osx_lp64.patch @@ -0,0 +1,271 @@ +diff -r -u ./Include/pymactoolbox.h ../Python-2.5/Include/pymactoolbox.h +--- ./Include/pymactoolbox.h 2004-11-05 16:02:59.000000000 +0900 ++++ ../Python-2.5/Include/pymactoolbox.h 2013-07-17 23:38:51.000000000 +0900 +@@ -8,7 +8,10 @@ + #endif + + #include ++ ++#ifndef __LP64__ + #include ++#endif /* !__LP64__ */ + + /* + ** Helper routines for error codes and such. +@@ -18,8 +21,11 @@ + PyObject *PyMac_GetOSErrException(void); /* Initialize & return it */ + PyObject *PyErr_Mac(PyObject *, int); /* Exception with a mac error */ + PyObject *PyMac_Error(OSErr); /* Uses PyMac_GetOSErrException */ ++#ifndef __LP64__ + extern OSErr PyMac_GetFullPathname(FSSpec *, char *, int); /* convert + fsspec->path */ ++#endif /* __LP64__ */ ++ + /* + ** These conversion routines are defined in mactoolboxglue.c itself. + */ +@@ -83,8 +89,10 @@ + #endif /* USE_TOOLBOX_OBJECT_GLUE */ + + /* macfs exports */ ++#ifndef __LP64__ + int PyMac_GetFSSpec(PyObject *, FSSpec *); /* argument parser for FSSpec */ + PyObject *PyMac_BuildFSSpec(FSSpec *); /* Convert FSSpec to PyObject */ ++#endif /* !__LP64__ */ + + int PyMac_GetFSRef(PyObject *, FSRef *); /* argument parser for FSRef */ + PyObject *PyMac_BuildFSRef(FSRef *); /* Convert FSRef to PyObject */ +@@ -101,39 +109,54 @@ + extern int CmpInstObj_Convert(PyObject *, ComponentInstance *); + + /* Ctl exports */ ++#ifndef __LP64__ + extern PyObject *CtlObj_New(ControlHandle); + extern int CtlObj_Convert(PyObject *, ControlHandle *); ++#endif /* !__LP64__ */ + + /* Dlg exports */ ++#ifndef __LP64__ + extern PyObject *DlgObj_New(DialogPtr); + extern int DlgObj_Convert(PyObject *, DialogPtr *); + extern PyObject *DlgObj_WhichDialog(DialogPtr); ++#endif /* !__LP64__ */ + + /* Drag exports */ ++#ifndef __LP64__ + extern PyObject *DragObj_New(DragReference); + extern int DragObj_Convert(PyObject *, DragReference *); ++#endif /* !__LP64__ */ + + /* List exports */ ++#ifndef __LP64__ + extern PyObject *ListObj_New(ListHandle); + extern int ListObj_Convert(PyObject *, ListHandle *); ++#endif /* !__LP64__ */ + + /* Menu exports */ ++#ifndef __LP64__ + extern PyObject *MenuObj_New(MenuHandle); + extern int MenuObj_Convert(PyObject *, MenuHandle *); ++#endif /* !__LP64__ */ + + /* Qd exports */ ++#ifndef __LP64__ + extern PyObject *GrafObj_New(GrafPtr); + extern int GrafObj_Convert(PyObject *, GrafPtr *); + extern PyObject *BMObj_New(BitMapPtr); + extern int BMObj_Convert(PyObject *, BitMapPtr *); + extern PyObject *QdRGB_New(RGBColor *); + extern int QdRGB_Convert(PyObject *, RGBColor *); ++#endif /* !__LP64__ */ + + /* Qdoffs exports */ ++#ifndef __LP64__ + extern PyObject *GWorldObj_New(GWorldPtr); + extern int GWorldObj_Convert(PyObject *, GWorldPtr *); ++#endif /* !__LP64__ */ + + /* Qt exports */ ++#ifndef __LP64__ + extern PyObject *TrackObj_New(Track); + extern int TrackObj_Convert(PyObject *, Track *); + extern PyObject *MovieObj_New(Movie); +@@ -146,6 +169,7 @@ + extern int UserDataObj_Convert(PyObject *, UserData *); + extern PyObject *MediaObj_New(Media); + extern int MediaObj_Convert(PyObject *, Media *); ++#endif /* !__LP64__ */ + + /* Res exports */ + extern PyObject *ResObj_New(Handle); +@@ -154,13 +178,17 @@ + extern int OptResObj_Convert(PyObject *, Handle *); + + /* TE exports */ ++#ifndef __LP64__ + extern PyObject *TEObj_New(TEHandle); + extern int TEObj_Convert(PyObject *, TEHandle *); ++#endif /* !__LP64__ */ + + /* Win exports */ ++#ifndef __LP64__ + extern PyObject *WinObj_New(WindowPtr); + extern int WinObj_Convert(PyObject *, WindowPtr *); + extern PyObject *WinObj_WhichWindow(WindowPtr); ++#endif /* !__LP64__ */ + + /* CF exports */ + extern PyObject *CFObj_New(CFTypeRef); +diff -r -u ./Mac/Modules/res/_Resmodule.c ../Python-2.5/Mac/Modules/res/_Resmodule.c +--- ./Mac/Modules/res/_Resmodule.c 2005-07-04 05:59:44.000000000 +0900 ++++ ../Python-2.5/Mac/Modules/res/_Resmodule.c 2013-07-17 23:38:51.000000000 +0900 +@@ -414,6 +414,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *ResObj_as_Control(ResourceObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -431,6 +432,7 @@ + return _res; + + } ++#endif /* !__LP64__ */ + + static PyObject *ResObj_LoadResource(ResourceObject *_self, PyObject *_args) + { +@@ -1152,6 +1154,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_OpenRFPerm(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1287,6 +1290,7 @@ + _res = Py_None; + return _res; + } ++#endif /* !__LP64__ */ + + static PyObject *Res_InsertResourceFile(PyObject *_self, PyObject *_args) + { +@@ -1327,6 +1331,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_FSpResourceFileAlreadyOpen(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1413,6 +1418,7 @@ + nextRefNum); + return _res; + } ++#endif /* !__LP64__ */ + + static PyObject *Res_FSOpenResFile(PyObject *_self, PyObject *_args) + { +@@ -1438,6 +1444,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_FSCreateResFile(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1534,6 +1541,7 @@ + PyMac_BuildFSSpec, &newSpec); + return _res; + } ++#endif /* __LP64__ */ + + static PyObject *Res_FSOpenResourceFile(PyObject *_self, PyObject *_args) + { +@@ -1637,6 +1645,7 @@ + PyDoc_STR("(short refNum) -> (short _rv)")}, + {"SetResFileAttrs", (PyCFunction)Res_SetResFileAttrs, 1, + PyDoc_STR("(short refNum, short attrs) -> None")}, ++#ifndef __LP64__ + {"OpenRFPerm", (PyCFunction)Res_OpenRFPerm, 1, + PyDoc_STR("(Str255 fileName, short vRefNum, SignedByte permission) -> (short _rv)")}, + {"HOpenResFile", (PyCFunction)Res_HOpenResFile, 1, +@@ -1647,10 +1656,12 @@ + PyDoc_STR("(FSSpec spec, SignedByte permission) -> (short _rv)")}, + {"FSpCreateResFile", (PyCFunction)Res_FSpCreateResFile, 1, + PyDoc_STR("(FSSpec spec, OSType creator, OSType fileType, ScriptCode scriptTag) -> None")}, ++#endif /* !__LP64__ */ + {"InsertResourceFile", (PyCFunction)Res_InsertResourceFile, 1, + PyDoc_STR("(SInt16 refNum, RsrcChainLocation where) -> None")}, + {"DetachResourceFile", (PyCFunction)Res_DetachResourceFile, 1, + PyDoc_STR("(SInt16 refNum) -> None")}, ++#ifndef __LP64__ + {"FSpResourceFileAlreadyOpen", (PyCFunction)Res_FSpResourceFileAlreadyOpen, 1, + PyDoc_STR("(FSSpec resourceFile) -> (Boolean _rv, Boolean inChain, SInt16 refNum)")}, + {"FSpOpenOrphanResFile", (PyCFunction)Res_FSpOpenOrphanResFile, 1, +@@ -1659,14 +1670,17 @@ + PyDoc_STR("() -> (SInt16 refNum)")}, + {"GetNextResourceFile", (PyCFunction)Res_GetNextResourceFile, 1, + PyDoc_STR("(SInt16 curRefNum) -> (SInt16 nextRefNum)")}, ++#endif /* __LP64__ */ + {"FSOpenResFile", (PyCFunction)Res_FSOpenResFile, 1, + PyDoc_STR("(FSRef ref, SignedByte permission) -> (short _rv)")}, ++#ifndef __LP64__ + {"FSCreateResFile", (PyCFunction)Res_FSCreateResFile, 1, + PyDoc_STR("(FSRef parentRef, Buffer nameLength) -> (FSRef newRef, FSSpec newSpec)")}, + {"FSResourceFileAlreadyOpen", (PyCFunction)Res_FSResourceFileAlreadyOpen, 1, + PyDoc_STR("(FSRef resourceFileRef) -> (Boolean _rv, Boolean inChain, SInt16 refNum)")}, + {"FSCreateResourceFile", (PyCFunction)Res_FSCreateResourceFile, 1, + PyDoc_STR("(FSRef parentRef, Buffer nameLength, Buffer forkNameLength) -> (FSRef newRef, FSSpec newSpec)")}, ++#endif /* __LP64__ */ + {"FSOpenResourceFile", (PyCFunction)Res_FSOpenResourceFile, 1, + PyDoc_STR("(FSRef ref, Buffer forkNameLength, SignedByte permissions) -> (SInt16 refNum)")}, + {"Handle", (PyCFunction)Res_Handle, 1, +diff -r -u ./Modules/_ctypes/libffi/src/darwin/ffitarget.h ../Python-2.5/Modules/_ctypes/libffi/src/darwin/ffitarget.h +--- ./Modules/_ctypes/libffi/src/darwin/ffitarget.h 2006-05-26 06:58:05.000000000 +0900 ++++ ../Python-2.5/Modules/_ctypes/libffi/src/darwin/ffitarget.h 2013-07-17 23:38:51.000000000 +0900 +@@ -4,7 +4,7 @@ + * created by configure). This makes is possible to build a univeral binary + * of ctypes in one go. + */ +-#if defined(__i386__) ++#if defined(__i386__) || defined(__x86_64__) + + #ifndef X86_DARWIN + #define X86_DARWIN +diff -r -u ./Python/mactoolboxglue.c ../Python-2.5/Python/mactoolboxglue.c +--- ./Python/mactoolboxglue.c 2006-07-12 01:44:25.000000000 +0900 ++++ ../Python-2.5/Python/mactoolboxglue.c 2013-07-17 23:39:09.000000000 +0900 +@@ -106,6 +106,7 @@ + } + + ++#ifndef __LP64__ + OSErr + PyMac_GetFullPathname(FSSpec *fss, char *path, int len) + { +@@ -153,6 +154,7 @@ + Py_XDECREF(fs); + return err; + } ++#endif /* !__LP64__ */ + + /* Convert a 4-char string object argument to an OSType value */ + int +@@ -417,6 +419,7 @@ + GLUE_NEW(GWorldPtr, GWorldObj_New, "Carbon.Qdoffs") + GLUE_CONVERT(GWorldPtr, GWorldObj_Convert, "Carbon.Qdoffs") + ++#ifndef __LP64__ + GLUE_NEW(Track, TrackObj_New, "Carbon.Qt") + GLUE_CONVERT(Track, TrackObj_Convert, "Carbon.Qt") + GLUE_NEW(Movie, MovieObj_New, "Carbon.Qt") +@@ -429,6 +432,7 @@ + GLUE_CONVERT(UserData, UserDataObj_Convert, "Carbon.Qt") + GLUE_NEW(Media, MediaObj_New, "Carbon.Qt") + GLUE_CONVERT(Media, MediaObj_Convert, "Carbon.Qt") ++#endif /* !__LP64__ */ + + GLUE_NEW(Handle, ResObj_New, "Carbon.Res") + GLUE_CONVERT(Handle, ResObj_Convert, "Carbon.Res") diff --git a/plugins/python-build/share/python-build/patches/2.5.3/Python-2.5.3/002_darwin_c_source.patch b/plugins/python-build/share/python-build/patches/2.5.3/Python-2.5.3/002_darwin_c_source.patch new file mode 100644 index 00000000..8cef44ad --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.5.3/Python-2.5.3/002_darwin_c_source.patch @@ -0,0 +1,166 @@ +diff -r -u ./configure ../Python-2.5/configure +--- ./configure 2006-09-05 11:54:42.000000000 +0900 ++++ ../Python-2.5/configure 2013-07-19 15:27:46.000000000 +0900 +@@ -1396,6 +1396,16 @@ + _ACEOF + + ++# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables ++# certain features on Mac OS X, so we need _DARWIN_C_SOURCE to re-enable ++# them. ++ ++cat >>confdefs.h <<\_ACEOF ++#define _DARWIN_C_SOURCE 1 ++_ACEOF ++ ++ ++ + define_xopen_source=yes + + # Arguments passed to configure. +@@ -3885,11 +3895,110 @@ + ;; + # is there any other compiler on Darwin besides gcc? + Darwin*) +- BASECFLAGS="$BASECFLAGS -Wno-long-double -no-cpp-precomp -mno-fused-madd" ++ # -Wno-long-double, -no-cpp-precomp, and -mno-fused-madd ++ # used to be here, but non-Apple gcc doesn't accept them. ++ if test "${CC}" = gcc ++ then ++ { echo "$as_me:${as_lineno-$LINENO}: checking which compiler should be used" >&5 ++echo -n "checking which compiler should be used... " >&6; } ++ case "${UNIVERSALSDK}" in ++ */MacOSX10.4u.sdk) ++ # Build using 10.4 SDK, force usage of gcc when the ++ # compiler is gcc, otherwise the user will get very ++ # confusing error messages when building on OSX 10.6 ++ CC=gcc-4.0 ++ CPP=cpp-4.0 ++ ;; ++ esac ++ { echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++echo "$CC" >&6; } ++ fi ++ ++ + if test "${enable_universalsdk}"; then +- BASECFLAGS="-arch ppc -arch i386 -isysroot ${UNIVERSALSDK} ${BASECFLAGS}" ++ UNIVERSAL_ARCH_FLAGS="" ++ if test "$UNIVERSAL_ARCHS" = "32-bit" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386" ++ ARCH_RUN_32BIT="" ++ LIPO_32BIT_FLAGS="" ++ elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64" ++ LIPO_32BIT_FLAGS="" ++ ARCH_RUN_32BIT="true" ++ ++ elif test "$UNIVERSAL_ARCHS" = "all" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ++ ++ elif test "$UNIVERSAL_ARCHS" = "intel" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386" ++ ++ elif test "$UNIVERSAL_ARCHS" = "3-way" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ++ ++ else ++ as_fn_error $? "proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way" "$LINENO" 5 ++ ++ fi ++ ++ ++ CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" ++ if test "${UNIVERSALSDK}" != "/" ++ then ++ CFLAGS="-isysroot ${UNIVERSALSDK} ${CFLAGS}" ++ LDFLAGS="-isysroot ${UNIVERSALSDK} ${LDFLAGS}" ++ CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}" ++ fi + fi + ++ # Calculate the right deployment target for this build. ++ # ++ cur_target=`sw_vers -productVersion | sed 's/\(10\.[0-9]*\).*/\1/'` ++ if test ${cur_target} '>' 10.2 && \ ++ test ${cur_target} '<' 10.6 ++ 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' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "3-way"; then ++ cur_target='10.5' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "intel"; then ++ cur_target='10.5' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "64-bit"; then ++ cur_target='10.5' ++ fi ++ else ++ if test `/usr/bin/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}} ++ ++ # Make sure that MACOSX_DEPLOYMENT_TARGET is set in the ++ # environment with a value that is the same as what we'll use ++ # in the Makefile to ensure that we'll get the same compiler ++ # environment during configure and build time. ++ MACOSX_DEPLOYMENT_TARGET="$CONFIGURE_MACOSX_DEPLOYMENT_TARGET" ++ export MACOSX_DEPLOYMENT_TARGET ++ EXPORT_MACOSX_DEPLOYMENT_TARGET='' ++ + ;; + OSF*) + BASECFLAGS="$BASECFLAGS -mieee" +@@ -10851,7 +10960,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)';; +@@ -10863,7 +10972,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 +diff -r -u ./pyconfig.h.in ../Python-2.5/pyconfig.h.in +--- ./pyconfig.h.in 2006-07-30 23:09:47.000000000 +0900 ++++ ../Python-2.5/pyconfig.h.in 2013-07-17 23:12:31.000000000 +0900 +@@ -912,6 +912,11 @@ + /* Define on Irix to enable u_int */ + #undef _BSD_TYPES + ++/* Define on Darwin to activate all library features */ ++#ifndef _DARWIN_C_SOURCE ++#define _DARWIN_C_SOURCE ++#endif ++ + /* This must be set to 64 on some systems to enable large file support. */ + #undef _FILE_OFFSET_BITS + diff --git a/plugins/python-build/share/python-build/patches/2.5.3/Python-2.5.3/003_osx_lp64.patch b/plugins/python-build/share/python-build/patches/2.5.3/Python-2.5.3/003_osx_lp64.patch new file mode 100644 index 00000000..fc07fc12 --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.5.3/Python-2.5.3/003_osx_lp64.patch @@ -0,0 +1,271 @@ +diff -r -u ./Include/pymactoolbox.h ../Python-2.5/Include/pymactoolbox.h +--- ./Include/pymactoolbox.h 2004-11-05 16:02:59.000000000 +0900 ++++ ../Python-2.5/Include/pymactoolbox.h 2013-07-17 23:38:51.000000000 +0900 +@@ -8,7 +8,10 @@ + #endif + + #include ++ ++#ifndef __LP64__ + #include ++#endif /* !__LP64__ */ + + /* + ** Helper routines for error codes and such. +@@ -18,8 +21,11 @@ + PyObject *PyMac_GetOSErrException(void); /* Initialize & return it */ + PyObject *PyErr_Mac(PyObject *, int); /* Exception with a mac error */ + PyObject *PyMac_Error(OSErr); /* Uses PyMac_GetOSErrException */ ++#ifndef __LP64__ + extern OSErr PyMac_GetFullPathname(FSSpec *, char *, int); /* convert + fsspec->path */ ++#endif /* __LP64__ */ ++ + /* + ** These conversion routines are defined in mactoolboxglue.c itself. + */ +@@ -83,8 +89,10 @@ + #endif /* USE_TOOLBOX_OBJECT_GLUE */ + + /* macfs exports */ ++#ifndef __LP64__ + int PyMac_GetFSSpec(PyObject *, FSSpec *); /* argument parser for FSSpec */ + PyObject *PyMac_BuildFSSpec(FSSpec *); /* Convert FSSpec to PyObject */ ++#endif /* !__LP64__ */ + + int PyMac_GetFSRef(PyObject *, FSRef *); /* argument parser for FSRef */ + PyObject *PyMac_BuildFSRef(FSRef *); /* Convert FSRef to PyObject */ +@@ -101,39 +109,54 @@ + extern int CmpInstObj_Convert(PyObject *, ComponentInstance *); + + /* Ctl exports */ ++#ifndef __LP64__ + extern PyObject *CtlObj_New(ControlHandle); + extern int CtlObj_Convert(PyObject *, ControlHandle *); ++#endif /* !__LP64__ */ + + /* Dlg exports */ ++#ifndef __LP64__ + extern PyObject *DlgObj_New(DialogPtr); + extern int DlgObj_Convert(PyObject *, DialogPtr *); + extern PyObject *DlgObj_WhichDialog(DialogPtr); ++#endif /* !__LP64__ */ + + /* Drag exports */ ++#ifndef __LP64__ + extern PyObject *DragObj_New(DragReference); + extern int DragObj_Convert(PyObject *, DragReference *); ++#endif /* !__LP64__ */ + + /* List exports */ ++#ifndef __LP64__ + extern PyObject *ListObj_New(ListHandle); + extern int ListObj_Convert(PyObject *, ListHandle *); ++#endif /* !__LP64__ */ + + /* Menu exports */ ++#ifndef __LP64__ + extern PyObject *MenuObj_New(MenuHandle); + extern int MenuObj_Convert(PyObject *, MenuHandle *); ++#endif /* !__LP64__ */ + + /* Qd exports */ ++#ifndef __LP64__ + extern PyObject *GrafObj_New(GrafPtr); + extern int GrafObj_Convert(PyObject *, GrafPtr *); + extern PyObject *BMObj_New(BitMapPtr); + extern int BMObj_Convert(PyObject *, BitMapPtr *); + extern PyObject *QdRGB_New(RGBColor *); + extern int QdRGB_Convert(PyObject *, RGBColor *); ++#endif /* !__LP64__ */ + + /* Qdoffs exports */ ++#ifndef __LP64__ + extern PyObject *GWorldObj_New(GWorldPtr); + extern int GWorldObj_Convert(PyObject *, GWorldPtr *); ++#endif /* !__LP64__ */ + + /* Qt exports */ ++#ifndef __LP64__ + extern PyObject *TrackObj_New(Track); + extern int TrackObj_Convert(PyObject *, Track *); + extern PyObject *MovieObj_New(Movie); +@@ -146,6 +169,7 @@ + extern int UserDataObj_Convert(PyObject *, UserData *); + extern PyObject *MediaObj_New(Media); + extern int MediaObj_Convert(PyObject *, Media *); ++#endif /* !__LP64__ */ + + /* Res exports */ + extern PyObject *ResObj_New(Handle); +@@ -154,13 +178,17 @@ + extern int OptResObj_Convert(PyObject *, Handle *); + + /* TE exports */ ++#ifndef __LP64__ + extern PyObject *TEObj_New(TEHandle); + extern int TEObj_Convert(PyObject *, TEHandle *); ++#endif /* !__LP64__ */ + + /* Win exports */ ++#ifndef __LP64__ + extern PyObject *WinObj_New(WindowPtr); + extern int WinObj_Convert(PyObject *, WindowPtr *); + extern PyObject *WinObj_WhichWindow(WindowPtr); ++#endif /* !__LP64__ */ + + /* CF exports */ + extern PyObject *CFObj_New(CFTypeRef); +diff -r -u ./Mac/Modules/res/_Resmodule.c ../Python-2.5/Mac/Modules/res/_Resmodule.c +--- ./Mac/Modules/res/_Resmodule.c 2005-07-04 05:59:44.000000000 +0900 ++++ ../Python-2.5/Mac/Modules/res/_Resmodule.c 2013-07-17 23:38:51.000000000 +0900 +@@ -414,6 +414,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *ResObj_as_Control(ResourceObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -431,6 +432,7 @@ + return _res; + + } ++#endif /* !__LP64__ */ + + static PyObject *ResObj_LoadResource(ResourceObject *_self, PyObject *_args) + { +@@ -1152,6 +1154,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_OpenRFPerm(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1287,6 +1290,7 @@ + _res = Py_None; + return _res; + } ++#endif /* !__LP64__ */ + + static PyObject *Res_InsertResourceFile(PyObject *_self, PyObject *_args) + { +@@ -1327,6 +1331,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_FSpResourceFileAlreadyOpen(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1413,6 +1418,7 @@ + nextRefNum); + return _res; + } ++#endif /* !__LP64__ */ + + static PyObject *Res_FSOpenResFile(PyObject *_self, PyObject *_args) + { +@@ -1438,6 +1444,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_FSCreateResFile(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1534,6 +1541,7 @@ + PyMac_BuildFSSpec, &newSpec); + return _res; + } ++#endif /* __LP64__ */ + + static PyObject *Res_FSOpenResourceFile(PyObject *_self, PyObject *_args) + { +@@ -1637,6 +1645,7 @@ + PyDoc_STR("(short refNum) -> (short _rv)")}, + {"SetResFileAttrs", (PyCFunction)Res_SetResFileAttrs, 1, + PyDoc_STR("(short refNum, short attrs) -> None")}, ++#ifndef __LP64__ + {"OpenRFPerm", (PyCFunction)Res_OpenRFPerm, 1, + PyDoc_STR("(Str255 fileName, short vRefNum, SignedByte permission) -> (short _rv)")}, + {"HOpenResFile", (PyCFunction)Res_HOpenResFile, 1, +@@ -1647,10 +1656,12 @@ + PyDoc_STR("(FSSpec spec, SignedByte permission) -> (short _rv)")}, + {"FSpCreateResFile", (PyCFunction)Res_FSpCreateResFile, 1, + PyDoc_STR("(FSSpec spec, OSType creator, OSType fileType, ScriptCode scriptTag) -> None")}, ++#endif /* !__LP64__ */ + {"InsertResourceFile", (PyCFunction)Res_InsertResourceFile, 1, + PyDoc_STR("(SInt16 refNum, RsrcChainLocation where) -> None")}, + {"DetachResourceFile", (PyCFunction)Res_DetachResourceFile, 1, + PyDoc_STR("(SInt16 refNum) -> None")}, ++#ifndef __LP64__ + {"FSpResourceFileAlreadyOpen", (PyCFunction)Res_FSpResourceFileAlreadyOpen, 1, + PyDoc_STR("(FSSpec resourceFile) -> (Boolean _rv, Boolean inChain, SInt16 refNum)")}, + {"FSpOpenOrphanResFile", (PyCFunction)Res_FSpOpenOrphanResFile, 1, +@@ -1659,14 +1670,17 @@ + PyDoc_STR("() -> (SInt16 refNum)")}, + {"GetNextResourceFile", (PyCFunction)Res_GetNextResourceFile, 1, + PyDoc_STR("(SInt16 curRefNum) -> (SInt16 nextRefNum)")}, ++#endif /* __LP64__ */ + {"FSOpenResFile", (PyCFunction)Res_FSOpenResFile, 1, + PyDoc_STR("(FSRef ref, SignedByte permission) -> (short _rv)")}, ++#ifndef __LP64__ + {"FSCreateResFile", (PyCFunction)Res_FSCreateResFile, 1, + PyDoc_STR("(FSRef parentRef, Buffer nameLength) -> (FSRef newRef, FSSpec newSpec)")}, + {"FSResourceFileAlreadyOpen", (PyCFunction)Res_FSResourceFileAlreadyOpen, 1, + PyDoc_STR("(FSRef resourceFileRef) -> (Boolean _rv, Boolean inChain, SInt16 refNum)")}, + {"FSCreateResourceFile", (PyCFunction)Res_FSCreateResourceFile, 1, + PyDoc_STR("(FSRef parentRef, Buffer nameLength, Buffer forkNameLength) -> (FSRef newRef, FSSpec newSpec)")}, ++#endif /* __LP64__ */ + {"FSOpenResourceFile", (PyCFunction)Res_FSOpenResourceFile, 1, + PyDoc_STR("(FSRef ref, Buffer forkNameLength, SignedByte permissions) -> (SInt16 refNum)")}, + {"Handle", (PyCFunction)Res_Handle, 1, +diff -r -u ./Modules/_ctypes/libffi/src/darwin/ffitarget.h ../Python-2.5/Modules/_ctypes/libffi/src/darwin/ffitarget.h +--- ./Modules/_ctypes/libffi/src/darwin/ffitarget.h 2006-05-26 06:58:05.000000000 +0900 ++++ ../Python-2.5/Modules/_ctypes/libffi/src/darwin/ffitarget.h 2013-07-17 23:38:51.000000000 +0900 +@@ -4,7 +4,7 @@ + * created by configure). This makes is possible to build a univeral binary + * of ctypes in one go. + */ +-#if defined(__i386__) ++#if defined(__i386__) || defined(__x86_64__) + + #ifndef X86_DARWIN + #define X86_DARWIN +diff -r -u ./Python/mactoolboxglue.c ../Python-2.5/Python/mactoolboxglue.c +--- ./Python/mactoolboxglue.c 2006-07-12 01:44:25.000000000 +0900 ++++ ../Python-2.5/Python/mactoolboxglue.c 2013-07-17 23:39:09.000000000 +0900 +@@ -106,6 +106,7 @@ + } + + ++#ifndef __LP64__ + OSErr + PyMac_GetFullPathname(FSSpec *fss, char *path, int len) + { +@@ -153,6 +154,7 @@ + Py_XDECREF(fs); + return err; + } ++#endif /* !__LP64__ */ + + /* Convert a 4-char string object argument to an OSType value */ + int +@@ -417,6 +419,7 @@ + GLUE_NEW(GWorldPtr, GWorldObj_New, "Carbon.Qdoffs") + GLUE_CONVERT(GWorldPtr, GWorldObj_Convert, "Carbon.Qdoffs") + ++#ifndef __LP64__ + GLUE_NEW(Track, TrackObj_New, "Carbon.Qt") + GLUE_CONVERT(Track, TrackObj_Convert, "Carbon.Qt") + GLUE_NEW(Movie, MovieObj_New, "Carbon.Qt") +@@ -429,6 +432,7 @@ + GLUE_CONVERT(UserData, UserDataObj_Convert, "Carbon.Qt") + GLUE_NEW(Media, MediaObj_New, "Carbon.Qt") + GLUE_CONVERT(Media, MediaObj_Convert, "Carbon.Qt") ++#endif /* !__LP64__ */ + + GLUE_NEW(Handle, ResObj_New, "Carbon.Res") + GLUE_CONVERT(Handle, ResObj_Convert, "Carbon.Res") diff --git a/plugins/python-build/share/python-build/patches/2.5.4/Python-2.5.4/002_darwin_c_source.patch b/plugins/python-build/share/python-build/patches/2.5.4/Python-2.5.4/002_darwin_c_source.patch new file mode 100644 index 00000000..8cef44ad --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.5.4/Python-2.5.4/002_darwin_c_source.patch @@ -0,0 +1,166 @@ +diff -r -u ./configure ../Python-2.5/configure +--- ./configure 2006-09-05 11:54:42.000000000 +0900 ++++ ../Python-2.5/configure 2013-07-19 15:27:46.000000000 +0900 +@@ -1396,6 +1396,16 @@ + _ACEOF + + ++# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables ++# certain features on Mac OS X, so we need _DARWIN_C_SOURCE to re-enable ++# them. ++ ++cat >>confdefs.h <<\_ACEOF ++#define _DARWIN_C_SOURCE 1 ++_ACEOF ++ ++ ++ + define_xopen_source=yes + + # Arguments passed to configure. +@@ -3885,11 +3895,110 @@ + ;; + # is there any other compiler on Darwin besides gcc? + Darwin*) +- BASECFLAGS="$BASECFLAGS -Wno-long-double -no-cpp-precomp -mno-fused-madd" ++ # -Wno-long-double, -no-cpp-precomp, and -mno-fused-madd ++ # used to be here, but non-Apple gcc doesn't accept them. ++ if test "${CC}" = gcc ++ then ++ { echo "$as_me:${as_lineno-$LINENO}: checking which compiler should be used" >&5 ++echo -n "checking which compiler should be used... " >&6; } ++ case "${UNIVERSALSDK}" in ++ */MacOSX10.4u.sdk) ++ # Build using 10.4 SDK, force usage of gcc when the ++ # compiler is gcc, otherwise the user will get very ++ # confusing error messages when building on OSX 10.6 ++ CC=gcc-4.0 ++ CPP=cpp-4.0 ++ ;; ++ esac ++ { echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++echo "$CC" >&6; } ++ fi ++ ++ + if test "${enable_universalsdk}"; then +- BASECFLAGS="-arch ppc -arch i386 -isysroot ${UNIVERSALSDK} ${BASECFLAGS}" ++ UNIVERSAL_ARCH_FLAGS="" ++ if test "$UNIVERSAL_ARCHS" = "32-bit" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386" ++ ARCH_RUN_32BIT="" ++ LIPO_32BIT_FLAGS="" ++ elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64" ++ LIPO_32BIT_FLAGS="" ++ ARCH_RUN_32BIT="true" ++ ++ elif test "$UNIVERSAL_ARCHS" = "all" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ++ ++ elif test "$UNIVERSAL_ARCHS" = "intel" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386" ++ ++ elif test "$UNIVERSAL_ARCHS" = "3-way" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ++ ++ else ++ as_fn_error $? "proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way" "$LINENO" 5 ++ ++ fi ++ ++ ++ CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" ++ if test "${UNIVERSALSDK}" != "/" ++ then ++ CFLAGS="-isysroot ${UNIVERSALSDK} ${CFLAGS}" ++ LDFLAGS="-isysroot ${UNIVERSALSDK} ${LDFLAGS}" ++ CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}" ++ fi + fi + ++ # Calculate the right deployment target for this build. ++ # ++ cur_target=`sw_vers -productVersion | sed 's/\(10\.[0-9]*\).*/\1/'` ++ if test ${cur_target} '>' 10.2 && \ ++ test ${cur_target} '<' 10.6 ++ 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' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "3-way"; then ++ cur_target='10.5' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "intel"; then ++ cur_target='10.5' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "64-bit"; then ++ cur_target='10.5' ++ fi ++ else ++ if test `/usr/bin/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}} ++ ++ # Make sure that MACOSX_DEPLOYMENT_TARGET is set in the ++ # environment with a value that is the same as what we'll use ++ # in the Makefile to ensure that we'll get the same compiler ++ # environment during configure and build time. ++ MACOSX_DEPLOYMENT_TARGET="$CONFIGURE_MACOSX_DEPLOYMENT_TARGET" ++ export MACOSX_DEPLOYMENT_TARGET ++ EXPORT_MACOSX_DEPLOYMENT_TARGET='' ++ + ;; + OSF*) + BASECFLAGS="$BASECFLAGS -mieee" +@@ -10851,7 +10960,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)';; +@@ -10863,7 +10972,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 +diff -r -u ./pyconfig.h.in ../Python-2.5/pyconfig.h.in +--- ./pyconfig.h.in 2006-07-30 23:09:47.000000000 +0900 ++++ ../Python-2.5/pyconfig.h.in 2013-07-17 23:12:31.000000000 +0900 +@@ -912,6 +912,11 @@ + /* Define on Irix to enable u_int */ + #undef _BSD_TYPES + ++/* Define on Darwin to activate all library features */ ++#ifndef _DARWIN_C_SOURCE ++#define _DARWIN_C_SOURCE ++#endif ++ + /* This must be set to 64 on some systems to enable large file support. */ + #undef _FILE_OFFSET_BITS + diff --git a/plugins/python-build/share/python-build/patches/2.5.4/Python-2.5.4/003_osx_lp64.patch b/plugins/python-build/share/python-build/patches/2.5.4/Python-2.5.4/003_osx_lp64.patch new file mode 100644 index 00000000..fc07fc12 --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.5.4/Python-2.5.4/003_osx_lp64.patch @@ -0,0 +1,271 @@ +diff -r -u ./Include/pymactoolbox.h ../Python-2.5/Include/pymactoolbox.h +--- ./Include/pymactoolbox.h 2004-11-05 16:02:59.000000000 +0900 ++++ ../Python-2.5/Include/pymactoolbox.h 2013-07-17 23:38:51.000000000 +0900 +@@ -8,7 +8,10 @@ + #endif + + #include ++ ++#ifndef __LP64__ + #include ++#endif /* !__LP64__ */ + + /* + ** Helper routines for error codes and such. +@@ -18,8 +21,11 @@ + PyObject *PyMac_GetOSErrException(void); /* Initialize & return it */ + PyObject *PyErr_Mac(PyObject *, int); /* Exception with a mac error */ + PyObject *PyMac_Error(OSErr); /* Uses PyMac_GetOSErrException */ ++#ifndef __LP64__ + extern OSErr PyMac_GetFullPathname(FSSpec *, char *, int); /* convert + fsspec->path */ ++#endif /* __LP64__ */ ++ + /* + ** These conversion routines are defined in mactoolboxglue.c itself. + */ +@@ -83,8 +89,10 @@ + #endif /* USE_TOOLBOX_OBJECT_GLUE */ + + /* macfs exports */ ++#ifndef __LP64__ + int PyMac_GetFSSpec(PyObject *, FSSpec *); /* argument parser for FSSpec */ + PyObject *PyMac_BuildFSSpec(FSSpec *); /* Convert FSSpec to PyObject */ ++#endif /* !__LP64__ */ + + int PyMac_GetFSRef(PyObject *, FSRef *); /* argument parser for FSRef */ + PyObject *PyMac_BuildFSRef(FSRef *); /* Convert FSRef to PyObject */ +@@ -101,39 +109,54 @@ + extern int CmpInstObj_Convert(PyObject *, ComponentInstance *); + + /* Ctl exports */ ++#ifndef __LP64__ + extern PyObject *CtlObj_New(ControlHandle); + extern int CtlObj_Convert(PyObject *, ControlHandle *); ++#endif /* !__LP64__ */ + + /* Dlg exports */ ++#ifndef __LP64__ + extern PyObject *DlgObj_New(DialogPtr); + extern int DlgObj_Convert(PyObject *, DialogPtr *); + extern PyObject *DlgObj_WhichDialog(DialogPtr); ++#endif /* !__LP64__ */ + + /* Drag exports */ ++#ifndef __LP64__ + extern PyObject *DragObj_New(DragReference); + extern int DragObj_Convert(PyObject *, DragReference *); ++#endif /* !__LP64__ */ + + /* List exports */ ++#ifndef __LP64__ + extern PyObject *ListObj_New(ListHandle); + extern int ListObj_Convert(PyObject *, ListHandle *); ++#endif /* !__LP64__ */ + + /* Menu exports */ ++#ifndef __LP64__ + extern PyObject *MenuObj_New(MenuHandle); + extern int MenuObj_Convert(PyObject *, MenuHandle *); ++#endif /* !__LP64__ */ + + /* Qd exports */ ++#ifndef __LP64__ + extern PyObject *GrafObj_New(GrafPtr); + extern int GrafObj_Convert(PyObject *, GrafPtr *); + extern PyObject *BMObj_New(BitMapPtr); + extern int BMObj_Convert(PyObject *, BitMapPtr *); + extern PyObject *QdRGB_New(RGBColor *); + extern int QdRGB_Convert(PyObject *, RGBColor *); ++#endif /* !__LP64__ */ + + /* Qdoffs exports */ ++#ifndef __LP64__ + extern PyObject *GWorldObj_New(GWorldPtr); + extern int GWorldObj_Convert(PyObject *, GWorldPtr *); ++#endif /* !__LP64__ */ + + /* Qt exports */ ++#ifndef __LP64__ + extern PyObject *TrackObj_New(Track); + extern int TrackObj_Convert(PyObject *, Track *); + extern PyObject *MovieObj_New(Movie); +@@ -146,6 +169,7 @@ + extern int UserDataObj_Convert(PyObject *, UserData *); + extern PyObject *MediaObj_New(Media); + extern int MediaObj_Convert(PyObject *, Media *); ++#endif /* !__LP64__ */ + + /* Res exports */ + extern PyObject *ResObj_New(Handle); +@@ -154,13 +178,17 @@ + extern int OptResObj_Convert(PyObject *, Handle *); + + /* TE exports */ ++#ifndef __LP64__ + extern PyObject *TEObj_New(TEHandle); + extern int TEObj_Convert(PyObject *, TEHandle *); ++#endif /* !__LP64__ */ + + /* Win exports */ ++#ifndef __LP64__ + extern PyObject *WinObj_New(WindowPtr); + extern int WinObj_Convert(PyObject *, WindowPtr *); + extern PyObject *WinObj_WhichWindow(WindowPtr); ++#endif /* !__LP64__ */ + + /* CF exports */ + extern PyObject *CFObj_New(CFTypeRef); +diff -r -u ./Mac/Modules/res/_Resmodule.c ../Python-2.5/Mac/Modules/res/_Resmodule.c +--- ./Mac/Modules/res/_Resmodule.c 2005-07-04 05:59:44.000000000 +0900 ++++ ../Python-2.5/Mac/Modules/res/_Resmodule.c 2013-07-17 23:38:51.000000000 +0900 +@@ -414,6 +414,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *ResObj_as_Control(ResourceObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -431,6 +432,7 @@ + return _res; + + } ++#endif /* !__LP64__ */ + + static PyObject *ResObj_LoadResource(ResourceObject *_self, PyObject *_args) + { +@@ -1152,6 +1154,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_OpenRFPerm(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1287,6 +1290,7 @@ + _res = Py_None; + return _res; + } ++#endif /* !__LP64__ */ + + static PyObject *Res_InsertResourceFile(PyObject *_self, PyObject *_args) + { +@@ -1327,6 +1331,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_FSpResourceFileAlreadyOpen(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1413,6 +1418,7 @@ + nextRefNum); + return _res; + } ++#endif /* !__LP64__ */ + + static PyObject *Res_FSOpenResFile(PyObject *_self, PyObject *_args) + { +@@ -1438,6 +1444,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_FSCreateResFile(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1534,6 +1541,7 @@ + PyMac_BuildFSSpec, &newSpec); + return _res; + } ++#endif /* __LP64__ */ + + static PyObject *Res_FSOpenResourceFile(PyObject *_self, PyObject *_args) + { +@@ -1637,6 +1645,7 @@ + PyDoc_STR("(short refNum) -> (short _rv)")}, + {"SetResFileAttrs", (PyCFunction)Res_SetResFileAttrs, 1, + PyDoc_STR("(short refNum, short attrs) -> None")}, ++#ifndef __LP64__ + {"OpenRFPerm", (PyCFunction)Res_OpenRFPerm, 1, + PyDoc_STR("(Str255 fileName, short vRefNum, SignedByte permission) -> (short _rv)")}, + {"HOpenResFile", (PyCFunction)Res_HOpenResFile, 1, +@@ -1647,10 +1656,12 @@ + PyDoc_STR("(FSSpec spec, SignedByte permission) -> (short _rv)")}, + {"FSpCreateResFile", (PyCFunction)Res_FSpCreateResFile, 1, + PyDoc_STR("(FSSpec spec, OSType creator, OSType fileType, ScriptCode scriptTag) -> None")}, ++#endif /* !__LP64__ */ + {"InsertResourceFile", (PyCFunction)Res_InsertResourceFile, 1, + PyDoc_STR("(SInt16 refNum, RsrcChainLocation where) -> None")}, + {"DetachResourceFile", (PyCFunction)Res_DetachResourceFile, 1, + PyDoc_STR("(SInt16 refNum) -> None")}, ++#ifndef __LP64__ + {"FSpResourceFileAlreadyOpen", (PyCFunction)Res_FSpResourceFileAlreadyOpen, 1, + PyDoc_STR("(FSSpec resourceFile) -> (Boolean _rv, Boolean inChain, SInt16 refNum)")}, + {"FSpOpenOrphanResFile", (PyCFunction)Res_FSpOpenOrphanResFile, 1, +@@ -1659,14 +1670,17 @@ + PyDoc_STR("() -> (SInt16 refNum)")}, + {"GetNextResourceFile", (PyCFunction)Res_GetNextResourceFile, 1, + PyDoc_STR("(SInt16 curRefNum) -> (SInt16 nextRefNum)")}, ++#endif /* __LP64__ */ + {"FSOpenResFile", (PyCFunction)Res_FSOpenResFile, 1, + PyDoc_STR("(FSRef ref, SignedByte permission) -> (short _rv)")}, ++#ifndef __LP64__ + {"FSCreateResFile", (PyCFunction)Res_FSCreateResFile, 1, + PyDoc_STR("(FSRef parentRef, Buffer nameLength) -> (FSRef newRef, FSSpec newSpec)")}, + {"FSResourceFileAlreadyOpen", (PyCFunction)Res_FSResourceFileAlreadyOpen, 1, + PyDoc_STR("(FSRef resourceFileRef) -> (Boolean _rv, Boolean inChain, SInt16 refNum)")}, + {"FSCreateResourceFile", (PyCFunction)Res_FSCreateResourceFile, 1, + PyDoc_STR("(FSRef parentRef, Buffer nameLength, Buffer forkNameLength) -> (FSRef newRef, FSSpec newSpec)")}, ++#endif /* __LP64__ */ + {"FSOpenResourceFile", (PyCFunction)Res_FSOpenResourceFile, 1, + PyDoc_STR("(FSRef ref, Buffer forkNameLength, SignedByte permissions) -> (SInt16 refNum)")}, + {"Handle", (PyCFunction)Res_Handle, 1, +diff -r -u ./Modules/_ctypes/libffi/src/darwin/ffitarget.h ../Python-2.5/Modules/_ctypes/libffi/src/darwin/ffitarget.h +--- ./Modules/_ctypes/libffi/src/darwin/ffitarget.h 2006-05-26 06:58:05.000000000 +0900 ++++ ../Python-2.5/Modules/_ctypes/libffi/src/darwin/ffitarget.h 2013-07-17 23:38:51.000000000 +0900 +@@ -4,7 +4,7 @@ + * created by configure). This makes is possible to build a univeral binary + * of ctypes in one go. + */ +-#if defined(__i386__) ++#if defined(__i386__) || defined(__x86_64__) + + #ifndef X86_DARWIN + #define X86_DARWIN +diff -r -u ./Python/mactoolboxglue.c ../Python-2.5/Python/mactoolboxglue.c +--- ./Python/mactoolboxglue.c 2006-07-12 01:44:25.000000000 +0900 ++++ ../Python-2.5/Python/mactoolboxglue.c 2013-07-17 23:39:09.000000000 +0900 +@@ -106,6 +106,7 @@ + } + + ++#ifndef __LP64__ + OSErr + PyMac_GetFullPathname(FSSpec *fss, char *path, int len) + { +@@ -153,6 +154,7 @@ + Py_XDECREF(fs); + return err; + } ++#endif /* !__LP64__ */ + + /* Convert a 4-char string object argument to an OSType value */ + int +@@ -417,6 +419,7 @@ + GLUE_NEW(GWorldPtr, GWorldObj_New, "Carbon.Qdoffs") + GLUE_CONVERT(GWorldPtr, GWorldObj_Convert, "Carbon.Qdoffs") + ++#ifndef __LP64__ + GLUE_NEW(Track, TrackObj_New, "Carbon.Qt") + GLUE_CONVERT(Track, TrackObj_Convert, "Carbon.Qt") + GLUE_NEW(Movie, MovieObj_New, "Carbon.Qt") +@@ -429,6 +432,7 @@ + GLUE_CONVERT(UserData, UserDataObj_Convert, "Carbon.Qt") + GLUE_NEW(Media, MediaObj_New, "Carbon.Qt") + GLUE_CONVERT(Media, MediaObj_Convert, "Carbon.Qt") ++#endif /* !__LP64__ */ + + GLUE_NEW(Handle, ResObj_New, "Carbon.Res") + GLUE_CONVERT(Handle, ResObj_Convert, "Carbon.Res") diff --git a/plugins/python-build/share/python-build/patches/2.5.5/Python-2.5.5/002_darwin_c_source.patch b/plugins/python-build/share/python-build/patches/2.5.5/Python-2.5.5/002_darwin_c_source.patch new file mode 100644 index 00000000..8cef44ad --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.5.5/Python-2.5.5/002_darwin_c_source.patch @@ -0,0 +1,166 @@ +diff -r -u ./configure ../Python-2.5/configure +--- ./configure 2006-09-05 11:54:42.000000000 +0900 ++++ ../Python-2.5/configure 2013-07-19 15:27:46.000000000 +0900 +@@ -1396,6 +1396,16 @@ + _ACEOF + + ++# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables ++# certain features on Mac OS X, so we need _DARWIN_C_SOURCE to re-enable ++# them. ++ ++cat >>confdefs.h <<\_ACEOF ++#define _DARWIN_C_SOURCE 1 ++_ACEOF ++ ++ ++ + define_xopen_source=yes + + # Arguments passed to configure. +@@ -3885,11 +3895,110 @@ + ;; + # is there any other compiler on Darwin besides gcc? + Darwin*) +- BASECFLAGS="$BASECFLAGS -Wno-long-double -no-cpp-precomp -mno-fused-madd" ++ # -Wno-long-double, -no-cpp-precomp, and -mno-fused-madd ++ # used to be here, but non-Apple gcc doesn't accept them. ++ if test "${CC}" = gcc ++ then ++ { echo "$as_me:${as_lineno-$LINENO}: checking which compiler should be used" >&5 ++echo -n "checking which compiler should be used... " >&6; } ++ case "${UNIVERSALSDK}" in ++ */MacOSX10.4u.sdk) ++ # Build using 10.4 SDK, force usage of gcc when the ++ # compiler is gcc, otherwise the user will get very ++ # confusing error messages when building on OSX 10.6 ++ CC=gcc-4.0 ++ CPP=cpp-4.0 ++ ;; ++ esac ++ { echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++echo "$CC" >&6; } ++ fi ++ ++ + if test "${enable_universalsdk}"; then +- BASECFLAGS="-arch ppc -arch i386 -isysroot ${UNIVERSALSDK} ${BASECFLAGS}" ++ UNIVERSAL_ARCH_FLAGS="" ++ if test "$UNIVERSAL_ARCHS" = "32-bit" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386" ++ ARCH_RUN_32BIT="" ++ LIPO_32BIT_FLAGS="" ++ elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64" ++ LIPO_32BIT_FLAGS="" ++ ARCH_RUN_32BIT="true" ++ ++ elif test "$UNIVERSAL_ARCHS" = "all" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ++ ++ elif test "$UNIVERSAL_ARCHS" = "intel" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386" ++ ++ elif test "$UNIVERSAL_ARCHS" = "3-way" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ++ ++ else ++ as_fn_error $? "proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way" "$LINENO" 5 ++ ++ fi ++ ++ ++ CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" ++ if test "${UNIVERSALSDK}" != "/" ++ then ++ CFLAGS="-isysroot ${UNIVERSALSDK} ${CFLAGS}" ++ LDFLAGS="-isysroot ${UNIVERSALSDK} ${LDFLAGS}" ++ CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}" ++ fi + fi + ++ # Calculate the right deployment target for this build. ++ # ++ cur_target=`sw_vers -productVersion | sed 's/\(10\.[0-9]*\).*/\1/'` ++ if test ${cur_target} '>' 10.2 && \ ++ test ${cur_target} '<' 10.6 ++ 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' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "3-way"; then ++ cur_target='10.5' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "intel"; then ++ cur_target='10.5' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "64-bit"; then ++ cur_target='10.5' ++ fi ++ else ++ if test `/usr/bin/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}} ++ ++ # Make sure that MACOSX_DEPLOYMENT_TARGET is set in the ++ # environment with a value that is the same as what we'll use ++ # in the Makefile to ensure that we'll get the same compiler ++ # environment during configure and build time. ++ MACOSX_DEPLOYMENT_TARGET="$CONFIGURE_MACOSX_DEPLOYMENT_TARGET" ++ export MACOSX_DEPLOYMENT_TARGET ++ EXPORT_MACOSX_DEPLOYMENT_TARGET='' ++ + ;; + OSF*) + BASECFLAGS="$BASECFLAGS -mieee" +@@ -10851,7 +10960,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)';; +@@ -10863,7 +10972,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 +diff -r -u ./pyconfig.h.in ../Python-2.5/pyconfig.h.in +--- ./pyconfig.h.in 2006-07-30 23:09:47.000000000 +0900 ++++ ../Python-2.5/pyconfig.h.in 2013-07-17 23:12:31.000000000 +0900 +@@ -912,6 +912,11 @@ + /* Define on Irix to enable u_int */ + #undef _BSD_TYPES + ++/* Define on Darwin to activate all library features */ ++#ifndef _DARWIN_C_SOURCE ++#define _DARWIN_C_SOURCE ++#endif ++ + /* This must be set to 64 on some systems to enable large file support. */ + #undef _FILE_OFFSET_BITS + diff --git a/plugins/python-build/share/python-build/patches/2.5.5/Python-2.5.5/003_osx_lp64.patch b/plugins/python-build/share/python-build/patches/2.5.5/Python-2.5.5/003_osx_lp64.patch new file mode 100644 index 00000000..fc07fc12 --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.5.5/Python-2.5.5/003_osx_lp64.patch @@ -0,0 +1,271 @@ +diff -r -u ./Include/pymactoolbox.h ../Python-2.5/Include/pymactoolbox.h +--- ./Include/pymactoolbox.h 2004-11-05 16:02:59.000000000 +0900 ++++ ../Python-2.5/Include/pymactoolbox.h 2013-07-17 23:38:51.000000000 +0900 +@@ -8,7 +8,10 @@ + #endif + + #include ++ ++#ifndef __LP64__ + #include ++#endif /* !__LP64__ */ + + /* + ** Helper routines for error codes and such. +@@ -18,8 +21,11 @@ + PyObject *PyMac_GetOSErrException(void); /* Initialize & return it */ + PyObject *PyErr_Mac(PyObject *, int); /* Exception with a mac error */ + PyObject *PyMac_Error(OSErr); /* Uses PyMac_GetOSErrException */ ++#ifndef __LP64__ + extern OSErr PyMac_GetFullPathname(FSSpec *, char *, int); /* convert + fsspec->path */ ++#endif /* __LP64__ */ ++ + /* + ** These conversion routines are defined in mactoolboxglue.c itself. + */ +@@ -83,8 +89,10 @@ + #endif /* USE_TOOLBOX_OBJECT_GLUE */ + + /* macfs exports */ ++#ifndef __LP64__ + int PyMac_GetFSSpec(PyObject *, FSSpec *); /* argument parser for FSSpec */ + PyObject *PyMac_BuildFSSpec(FSSpec *); /* Convert FSSpec to PyObject */ ++#endif /* !__LP64__ */ + + int PyMac_GetFSRef(PyObject *, FSRef *); /* argument parser for FSRef */ + PyObject *PyMac_BuildFSRef(FSRef *); /* Convert FSRef to PyObject */ +@@ -101,39 +109,54 @@ + extern int CmpInstObj_Convert(PyObject *, ComponentInstance *); + + /* Ctl exports */ ++#ifndef __LP64__ + extern PyObject *CtlObj_New(ControlHandle); + extern int CtlObj_Convert(PyObject *, ControlHandle *); ++#endif /* !__LP64__ */ + + /* Dlg exports */ ++#ifndef __LP64__ + extern PyObject *DlgObj_New(DialogPtr); + extern int DlgObj_Convert(PyObject *, DialogPtr *); + extern PyObject *DlgObj_WhichDialog(DialogPtr); ++#endif /* !__LP64__ */ + + /* Drag exports */ ++#ifndef __LP64__ + extern PyObject *DragObj_New(DragReference); + extern int DragObj_Convert(PyObject *, DragReference *); ++#endif /* !__LP64__ */ + + /* List exports */ ++#ifndef __LP64__ + extern PyObject *ListObj_New(ListHandle); + extern int ListObj_Convert(PyObject *, ListHandle *); ++#endif /* !__LP64__ */ + + /* Menu exports */ ++#ifndef __LP64__ + extern PyObject *MenuObj_New(MenuHandle); + extern int MenuObj_Convert(PyObject *, MenuHandle *); ++#endif /* !__LP64__ */ + + /* Qd exports */ ++#ifndef __LP64__ + extern PyObject *GrafObj_New(GrafPtr); + extern int GrafObj_Convert(PyObject *, GrafPtr *); + extern PyObject *BMObj_New(BitMapPtr); + extern int BMObj_Convert(PyObject *, BitMapPtr *); + extern PyObject *QdRGB_New(RGBColor *); + extern int QdRGB_Convert(PyObject *, RGBColor *); ++#endif /* !__LP64__ */ + + /* Qdoffs exports */ ++#ifndef __LP64__ + extern PyObject *GWorldObj_New(GWorldPtr); + extern int GWorldObj_Convert(PyObject *, GWorldPtr *); ++#endif /* !__LP64__ */ + + /* Qt exports */ ++#ifndef __LP64__ + extern PyObject *TrackObj_New(Track); + extern int TrackObj_Convert(PyObject *, Track *); + extern PyObject *MovieObj_New(Movie); +@@ -146,6 +169,7 @@ + extern int UserDataObj_Convert(PyObject *, UserData *); + extern PyObject *MediaObj_New(Media); + extern int MediaObj_Convert(PyObject *, Media *); ++#endif /* !__LP64__ */ + + /* Res exports */ + extern PyObject *ResObj_New(Handle); +@@ -154,13 +178,17 @@ + extern int OptResObj_Convert(PyObject *, Handle *); + + /* TE exports */ ++#ifndef __LP64__ + extern PyObject *TEObj_New(TEHandle); + extern int TEObj_Convert(PyObject *, TEHandle *); ++#endif /* !__LP64__ */ + + /* Win exports */ ++#ifndef __LP64__ + extern PyObject *WinObj_New(WindowPtr); + extern int WinObj_Convert(PyObject *, WindowPtr *); + extern PyObject *WinObj_WhichWindow(WindowPtr); ++#endif /* !__LP64__ */ + + /* CF exports */ + extern PyObject *CFObj_New(CFTypeRef); +diff -r -u ./Mac/Modules/res/_Resmodule.c ../Python-2.5/Mac/Modules/res/_Resmodule.c +--- ./Mac/Modules/res/_Resmodule.c 2005-07-04 05:59:44.000000000 +0900 ++++ ../Python-2.5/Mac/Modules/res/_Resmodule.c 2013-07-17 23:38:51.000000000 +0900 +@@ -414,6 +414,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *ResObj_as_Control(ResourceObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -431,6 +432,7 @@ + return _res; + + } ++#endif /* !__LP64__ */ + + static PyObject *ResObj_LoadResource(ResourceObject *_self, PyObject *_args) + { +@@ -1152,6 +1154,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_OpenRFPerm(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1287,6 +1290,7 @@ + _res = Py_None; + return _res; + } ++#endif /* !__LP64__ */ + + static PyObject *Res_InsertResourceFile(PyObject *_self, PyObject *_args) + { +@@ -1327,6 +1331,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_FSpResourceFileAlreadyOpen(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1413,6 +1418,7 @@ + nextRefNum); + return _res; + } ++#endif /* !__LP64__ */ + + static PyObject *Res_FSOpenResFile(PyObject *_self, PyObject *_args) + { +@@ -1438,6 +1444,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_FSCreateResFile(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1534,6 +1541,7 @@ + PyMac_BuildFSSpec, &newSpec); + return _res; + } ++#endif /* __LP64__ */ + + static PyObject *Res_FSOpenResourceFile(PyObject *_self, PyObject *_args) + { +@@ -1637,6 +1645,7 @@ + PyDoc_STR("(short refNum) -> (short _rv)")}, + {"SetResFileAttrs", (PyCFunction)Res_SetResFileAttrs, 1, + PyDoc_STR("(short refNum, short attrs) -> None")}, ++#ifndef __LP64__ + {"OpenRFPerm", (PyCFunction)Res_OpenRFPerm, 1, + PyDoc_STR("(Str255 fileName, short vRefNum, SignedByte permission) -> (short _rv)")}, + {"HOpenResFile", (PyCFunction)Res_HOpenResFile, 1, +@@ -1647,10 +1656,12 @@ + PyDoc_STR("(FSSpec spec, SignedByte permission) -> (short _rv)")}, + {"FSpCreateResFile", (PyCFunction)Res_FSpCreateResFile, 1, + PyDoc_STR("(FSSpec spec, OSType creator, OSType fileType, ScriptCode scriptTag) -> None")}, ++#endif /* !__LP64__ */ + {"InsertResourceFile", (PyCFunction)Res_InsertResourceFile, 1, + PyDoc_STR("(SInt16 refNum, RsrcChainLocation where) -> None")}, + {"DetachResourceFile", (PyCFunction)Res_DetachResourceFile, 1, + PyDoc_STR("(SInt16 refNum) -> None")}, ++#ifndef __LP64__ + {"FSpResourceFileAlreadyOpen", (PyCFunction)Res_FSpResourceFileAlreadyOpen, 1, + PyDoc_STR("(FSSpec resourceFile) -> (Boolean _rv, Boolean inChain, SInt16 refNum)")}, + {"FSpOpenOrphanResFile", (PyCFunction)Res_FSpOpenOrphanResFile, 1, +@@ -1659,14 +1670,17 @@ + PyDoc_STR("() -> (SInt16 refNum)")}, + {"GetNextResourceFile", (PyCFunction)Res_GetNextResourceFile, 1, + PyDoc_STR("(SInt16 curRefNum) -> (SInt16 nextRefNum)")}, ++#endif /* __LP64__ */ + {"FSOpenResFile", (PyCFunction)Res_FSOpenResFile, 1, + PyDoc_STR("(FSRef ref, SignedByte permission) -> (short _rv)")}, ++#ifndef __LP64__ + {"FSCreateResFile", (PyCFunction)Res_FSCreateResFile, 1, + PyDoc_STR("(FSRef parentRef, Buffer nameLength) -> (FSRef newRef, FSSpec newSpec)")}, + {"FSResourceFileAlreadyOpen", (PyCFunction)Res_FSResourceFileAlreadyOpen, 1, + PyDoc_STR("(FSRef resourceFileRef) -> (Boolean _rv, Boolean inChain, SInt16 refNum)")}, + {"FSCreateResourceFile", (PyCFunction)Res_FSCreateResourceFile, 1, + PyDoc_STR("(FSRef parentRef, Buffer nameLength, Buffer forkNameLength) -> (FSRef newRef, FSSpec newSpec)")}, ++#endif /* __LP64__ */ + {"FSOpenResourceFile", (PyCFunction)Res_FSOpenResourceFile, 1, + PyDoc_STR("(FSRef ref, Buffer forkNameLength, SignedByte permissions) -> (SInt16 refNum)")}, + {"Handle", (PyCFunction)Res_Handle, 1, +diff -r -u ./Modules/_ctypes/libffi/src/darwin/ffitarget.h ../Python-2.5/Modules/_ctypes/libffi/src/darwin/ffitarget.h +--- ./Modules/_ctypes/libffi/src/darwin/ffitarget.h 2006-05-26 06:58:05.000000000 +0900 ++++ ../Python-2.5/Modules/_ctypes/libffi/src/darwin/ffitarget.h 2013-07-17 23:38:51.000000000 +0900 +@@ -4,7 +4,7 @@ + * created by configure). This makes is possible to build a univeral binary + * of ctypes in one go. + */ +-#if defined(__i386__) ++#if defined(__i386__) || defined(__x86_64__) + + #ifndef X86_DARWIN + #define X86_DARWIN +diff -r -u ./Python/mactoolboxglue.c ../Python-2.5/Python/mactoolboxglue.c +--- ./Python/mactoolboxglue.c 2006-07-12 01:44:25.000000000 +0900 ++++ ../Python-2.5/Python/mactoolboxglue.c 2013-07-17 23:39:09.000000000 +0900 +@@ -106,6 +106,7 @@ + } + + ++#ifndef __LP64__ + OSErr + PyMac_GetFullPathname(FSSpec *fss, char *path, int len) + { +@@ -153,6 +154,7 @@ + Py_XDECREF(fs); + return err; + } ++#endif /* !__LP64__ */ + + /* Convert a 4-char string object argument to an OSType value */ + int +@@ -417,6 +419,7 @@ + GLUE_NEW(GWorldPtr, GWorldObj_New, "Carbon.Qdoffs") + GLUE_CONVERT(GWorldPtr, GWorldObj_Convert, "Carbon.Qdoffs") + ++#ifndef __LP64__ + GLUE_NEW(Track, TrackObj_New, "Carbon.Qt") + GLUE_CONVERT(Track, TrackObj_Convert, "Carbon.Qt") + GLUE_NEW(Movie, MovieObj_New, "Carbon.Qt") +@@ -429,6 +432,7 @@ + GLUE_CONVERT(UserData, UserDataObj_Convert, "Carbon.Qt") + GLUE_NEW(Media, MediaObj_New, "Carbon.Qt") + GLUE_CONVERT(Media, MediaObj_Convert, "Carbon.Qt") ++#endif /* !__LP64__ */ + + GLUE_NEW(Handle, ResObj_New, "Carbon.Res") + GLUE_CONVERT(Handle, ResObj_Convert, "Carbon.Res") diff --git a/plugins/python-build/share/python-build/patches/2.5.6/Python-2.5.6/002_darwin_c_source.patch b/plugins/python-build/share/python-build/patches/2.5.6/Python-2.5.6/002_darwin_c_source.patch new file mode 100644 index 00000000..8cef44ad --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.5.6/Python-2.5.6/002_darwin_c_source.patch @@ -0,0 +1,166 @@ +diff -r -u ./configure ../Python-2.5/configure +--- ./configure 2006-09-05 11:54:42.000000000 +0900 ++++ ../Python-2.5/configure 2013-07-19 15:27:46.000000000 +0900 +@@ -1396,6 +1396,16 @@ + _ACEOF + + ++# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables ++# certain features on Mac OS X, so we need _DARWIN_C_SOURCE to re-enable ++# them. ++ ++cat >>confdefs.h <<\_ACEOF ++#define _DARWIN_C_SOURCE 1 ++_ACEOF ++ ++ ++ + define_xopen_source=yes + + # Arguments passed to configure. +@@ -3885,11 +3895,110 @@ + ;; + # is there any other compiler on Darwin besides gcc? + Darwin*) +- BASECFLAGS="$BASECFLAGS -Wno-long-double -no-cpp-precomp -mno-fused-madd" ++ # -Wno-long-double, -no-cpp-precomp, and -mno-fused-madd ++ # used to be here, but non-Apple gcc doesn't accept them. ++ if test "${CC}" = gcc ++ then ++ { echo "$as_me:${as_lineno-$LINENO}: checking which compiler should be used" >&5 ++echo -n "checking which compiler should be used... " >&6; } ++ case "${UNIVERSALSDK}" in ++ */MacOSX10.4u.sdk) ++ # Build using 10.4 SDK, force usage of gcc when the ++ # compiler is gcc, otherwise the user will get very ++ # confusing error messages when building on OSX 10.6 ++ CC=gcc-4.0 ++ CPP=cpp-4.0 ++ ;; ++ esac ++ { echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++echo "$CC" >&6; } ++ fi ++ ++ + if test "${enable_universalsdk}"; then +- BASECFLAGS="-arch ppc -arch i386 -isysroot ${UNIVERSALSDK} ${BASECFLAGS}" ++ UNIVERSAL_ARCH_FLAGS="" ++ if test "$UNIVERSAL_ARCHS" = "32-bit" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386" ++ ARCH_RUN_32BIT="" ++ LIPO_32BIT_FLAGS="" ++ elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64" ++ LIPO_32BIT_FLAGS="" ++ ARCH_RUN_32BIT="true" ++ ++ elif test "$UNIVERSAL_ARCHS" = "all" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ++ ++ elif test "$UNIVERSAL_ARCHS" = "intel" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386" ++ ++ elif test "$UNIVERSAL_ARCHS" = "3-way" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ++ ++ else ++ as_fn_error $? "proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way" "$LINENO" 5 ++ ++ fi ++ ++ ++ CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" ++ if test "${UNIVERSALSDK}" != "/" ++ then ++ CFLAGS="-isysroot ${UNIVERSALSDK} ${CFLAGS}" ++ LDFLAGS="-isysroot ${UNIVERSALSDK} ${LDFLAGS}" ++ CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}" ++ fi + fi + ++ # Calculate the right deployment target for this build. ++ # ++ cur_target=`sw_vers -productVersion | sed 's/\(10\.[0-9]*\).*/\1/'` ++ if test ${cur_target} '>' 10.2 && \ ++ test ${cur_target} '<' 10.6 ++ 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' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "3-way"; then ++ cur_target='10.5' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "intel"; then ++ cur_target='10.5' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "64-bit"; then ++ cur_target='10.5' ++ fi ++ else ++ if test `/usr/bin/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}} ++ ++ # Make sure that MACOSX_DEPLOYMENT_TARGET is set in the ++ # environment with a value that is the same as what we'll use ++ # in the Makefile to ensure that we'll get the same compiler ++ # environment during configure and build time. ++ MACOSX_DEPLOYMENT_TARGET="$CONFIGURE_MACOSX_DEPLOYMENT_TARGET" ++ export MACOSX_DEPLOYMENT_TARGET ++ EXPORT_MACOSX_DEPLOYMENT_TARGET='' ++ + ;; + OSF*) + BASECFLAGS="$BASECFLAGS -mieee" +@@ -10851,7 +10960,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)';; +@@ -10863,7 +10972,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 +diff -r -u ./pyconfig.h.in ../Python-2.5/pyconfig.h.in +--- ./pyconfig.h.in 2006-07-30 23:09:47.000000000 +0900 ++++ ../Python-2.5/pyconfig.h.in 2013-07-17 23:12:31.000000000 +0900 +@@ -912,6 +912,11 @@ + /* Define on Irix to enable u_int */ + #undef _BSD_TYPES + ++/* Define on Darwin to activate all library features */ ++#ifndef _DARWIN_C_SOURCE ++#define _DARWIN_C_SOURCE ++#endif ++ + /* This must be set to 64 on some systems to enable large file support. */ + #undef _FILE_OFFSET_BITS + diff --git a/plugins/python-build/share/python-build/patches/2.5.6/Python-2.5.6/003_osx_lp64.patch b/plugins/python-build/share/python-build/patches/2.5.6/Python-2.5.6/003_osx_lp64.patch new file mode 100644 index 00000000..fc07fc12 --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.5.6/Python-2.5.6/003_osx_lp64.patch @@ -0,0 +1,271 @@ +diff -r -u ./Include/pymactoolbox.h ../Python-2.5/Include/pymactoolbox.h +--- ./Include/pymactoolbox.h 2004-11-05 16:02:59.000000000 +0900 ++++ ../Python-2.5/Include/pymactoolbox.h 2013-07-17 23:38:51.000000000 +0900 +@@ -8,7 +8,10 @@ + #endif + + #include ++ ++#ifndef __LP64__ + #include ++#endif /* !__LP64__ */ + + /* + ** Helper routines for error codes and such. +@@ -18,8 +21,11 @@ + PyObject *PyMac_GetOSErrException(void); /* Initialize & return it */ + PyObject *PyErr_Mac(PyObject *, int); /* Exception with a mac error */ + PyObject *PyMac_Error(OSErr); /* Uses PyMac_GetOSErrException */ ++#ifndef __LP64__ + extern OSErr PyMac_GetFullPathname(FSSpec *, char *, int); /* convert + fsspec->path */ ++#endif /* __LP64__ */ ++ + /* + ** These conversion routines are defined in mactoolboxglue.c itself. + */ +@@ -83,8 +89,10 @@ + #endif /* USE_TOOLBOX_OBJECT_GLUE */ + + /* macfs exports */ ++#ifndef __LP64__ + int PyMac_GetFSSpec(PyObject *, FSSpec *); /* argument parser for FSSpec */ + PyObject *PyMac_BuildFSSpec(FSSpec *); /* Convert FSSpec to PyObject */ ++#endif /* !__LP64__ */ + + int PyMac_GetFSRef(PyObject *, FSRef *); /* argument parser for FSRef */ + PyObject *PyMac_BuildFSRef(FSRef *); /* Convert FSRef to PyObject */ +@@ -101,39 +109,54 @@ + extern int CmpInstObj_Convert(PyObject *, ComponentInstance *); + + /* Ctl exports */ ++#ifndef __LP64__ + extern PyObject *CtlObj_New(ControlHandle); + extern int CtlObj_Convert(PyObject *, ControlHandle *); ++#endif /* !__LP64__ */ + + /* Dlg exports */ ++#ifndef __LP64__ + extern PyObject *DlgObj_New(DialogPtr); + extern int DlgObj_Convert(PyObject *, DialogPtr *); + extern PyObject *DlgObj_WhichDialog(DialogPtr); ++#endif /* !__LP64__ */ + + /* Drag exports */ ++#ifndef __LP64__ + extern PyObject *DragObj_New(DragReference); + extern int DragObj_Convert(PyObject *, DragReference *); ++#endif /* !__LP64__ */ + + /* List exports */ ++#ifndef __LP64__ + extern PyObject *ListObj_New(ListHandle); + extern int ListObj_Convert(PyObject *, ListHandle *); ++#endif /* !__LP64__ */ + + /* Menu exports */ ++#ifndef __LP64__ + extern PyObject *MenuObj_New(MenuHandle); + extern int MenuObj_Convert(PyObject *, MenuHandle *); ++#endif /* !__LP64__ */ + + /* Qd exports */ ++#ifndef __LP64__ + extern PyObject *GrafObj_New(GrafPtr); + extern int GrafObj_Convert(PyObject *, GrafPtr *); + extern PyObject *BMObj_New(BitMapPtr); + extern int BMObj_Convert(PyObject *, BitMapPtr *); + extern PyObject *QdRGB_New(RGBColor *); + extern int QdRGB_Convert(PyObject *, RGBColor *); ++#endif /* !__LP64__ */ + + /* Qdoffs exports */ ++#ifndef __LP64__ + extern PyObject *GWorldObj_New(GWorldPtr); + extern int GWorldObj_Convert(PyObject *, GWorldPtr *); ++#endif /* !__LP64__ */ + + /* Qt exports */ ++#ifndef __LP64__ + extern PyObject *TrackObj_New(Track); + extern int TrackObj_Convert(PyObject *, Track *); + extern PyObject *MovieObj_New(Movie); +@@ -146,6 +169,7 @@ + extern int UserDataObj_Convert(PyObject *, UserData *); + extern PyObject *MediaObj_New(Media); + extern int MediaObj_Convert(PyObject *, Media *); ++#endif /* !__LP64__ */ + + /* Res exports */ + extern PyObject *ResObj_New(Handle); +@@ -154,13 +178,17 @@ + extern int OptResObj_Convert(PyObject *, Handle *); + + /* TE exports */ ++#ifndef __LP64__ + extern PyObject *TEObj_New(TEHandle); + extern int TEObj_Convert(PyObject *, TEHandle *); ++#endif /* !__LP64__ */ + + /* Win exports */ ++#ifndef __LP64__ + extern PyObject *WinObj_New(WindowPtr); + extern int WinObj_Convert(PyObject *, WindowPtr *); + extern PyObject *WinObj_WhichWindow(WindowPtr); ++#endif /* !__LP64__ */ + + /* CF exports */ + extern PyObject *CFObj_New(CFTypeRef); +diff -r -u ./Mac/Modules/res/_Resmodule.c ../Python-2.5/Mac/Modules/res/_Resmodule.c +--- ./Mac/Modules/res/_Resmodule.c 2005-07-04 05:59:44.000000000 +0900 ++++ ../Python-2.5/Mac/Modules/res/_Resmodule.c 2013-07-17 23:38:51.000000000 +0900 +@@ -414,6 +414,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *ResObj_as_Control(ResourceObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -431,6 +432,7 @@ + return _res; + + } ++#endif /* !__LP64__ */ + + static PyObject *ResObj_LoadResource(ResourceObject *_self, PyObject *_args) + { +@@ -1152,6 +1154,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_OpenRFPerm(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1287,6 +1290,7 @@ + _res = Py_None; + return _res; + } ++#endif /* !__LP64__ */ + + static PyObject *Res_InsertResourceFile(PyObject *_self, PyObject *_args) + { +@@ -1327,6 +1331,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_FSpResourceFileAlreadyOpen(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1413,6 +1418,7 @@ + nextRefNum); + return _res; + } ++#endif /* !__LP64__ */ + + static PyObject *Res_FSOpenResFile(PyObject *_self, PyObject *_args) + { +@@ -1438,6 +1444,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_FSCreateResFile(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1534,6 +1541,7 @@ + PyMac_BuildFSSpec, &newSpec); + return _res; + } ++#endif /* __LP64__ */ + + static PyObject *Res_FSOpenResourceFile(PyObject *_self, PyObject *_args) + { +@@ -1637,6 +1645,7 @@ + PyDoc_STR("(short refNum) -> (short _rv)")}, + {"SetResFileAttrs", (PyCFunction)Res_SetResFileAttrs, 1, + PyDoc_STR("(short refNum, short attrs) -> None")}, ++#ifndef __LP64__ + {"OpenRFPerm", (PyCFunction)Res_OpenRFPerm, 1, + PyDoc_STR("(Str255 fileName, short vRefNum, SignedByte permission) -> (short _rv)")}, + {"HOpenResFile", (PyCFunction)Res_HOpenResFile, 1, +@@ -1647,10 +1656,12 @@ + PyDoc_STR("(FSSpec spec, SignedByte permission) -> (short _rv)")}, + {"FSpCreateResFile", (PyCFunction)Res_FSpCreateResFile, 1, + PyDoc_STR("(FSSpec spec, OSType creator, OSType fileType, ScriptCode scriptTag) -> None")}, ++#endif /* !__LP64__ */ + {"InsertResourceFile", (PyCFunction)Res_InsertResourceFile, 1, + PyDoc_STR("(SInt16 refNum, RsrcChainLocation where) -> None")}, + {"DetachResourceFile", (PyCFunction)Res_DetachResourceFile, 1, + PyDoc_STR("(SInt16 refNum) -> None")}, ++#ifndef __LP64__ + {"FSpResourceFileAlreadyOpen", (PyCFunction)Res_FSpResourceFileAlreadyOpen, 1, + PyDoc_STR("(FSSpec resourceFile) -> (Boolean _rv, Boolean inChain, SInt16 refNum)")}, + {"FSpOpenOrphanResFile", (PyCFunction)Res_FSpOpenOrphanResFile, 1, +@@ -1659,14 +1670,17 @@ + PyDoc_STR("() -> (SInt16 refNum)")}, + {"GetNextResourceFile", (PyCFunction)Res_GetNextResourceFile, 1, + PyDoc_STR("(SInt16 curRefNum) -> (SInt16 nextRefNum)")}, ++#endif /* __LP64__ */ + {"FSOpenResFile", (PyCFunction)Res_FSOpenResFile, 1, + PyDoc_STR("(FSRef ref, SignedByte permission) -> (short _rv)")}, ++#ifndef __LP64__ + {"FSCreateResFile", (PyCFunction)Res_FSCreateResFile, 1, + PyDoc_STR("(FSRef parentRef, Buffer nameLength) -> (FSRef newRef, FSSpec newSpec)")}, + {"FSResourceFileAlreadyOpen", (PyCFunction)Res_FSResourceFileAlreadyOpen, 1, + PyDoc_STR("(FSRef resourceFileRef) -> (Boolean _rv, Boolean inChain, SInt16 refNum)")}, + {"FSCreateResourceFile", (PyCFunction)Res_FSCreateResourceFile, 1, + PyDoc_STR("(FSRef parentRef, Buffer nameLength, Buffer forkNameLength) -> (FSRef newRef, FSSpec newSpec)")}, ++#endif /* __LP64__ */ + {"FSOpenResourceFile", (PyCFunction)Res_FSOpenResourceFile, 1, + PyDoc_STR("(FSRef ref, Buffer forkNameLength, SignedByte permissions) -> (SInt16 refNum)")}, + {"Handle", (PyCFunction)Res_Handle, 1, +diff -r -u ./Modules/_ctypes/libffi/src/darwin/ffitarget.h ../Python-2.5/Modules/_ctypes/libffi/src/darwin/ffitarget.h +--- ./Modules/_ctypes/libffi/src/darwin/ffitarget.h 2006-05-26 06:58:05.000000000 +0900 ++++ ../Python-2.5/Modules/_ctypes/libffi/src/darwin/ffitarget.h 2013-07-17 23:38:51.000000000 +0900 +@@ -4,7 +4,7 @@ + * created by configure). This makes is possible to build a univeral binary + * of ctypes in one go. + */ +-#if defined(__i386__) ++#if defined(__i386__) || defined(__x86_64__) + + #ifndef X86_DARWIN + #define X86_DARWIN +diff -r -u ./Python/mactoolboxglue.c ../Python-2.5/Python/mactoolboxglue.c +--- ./Python/mactoolboxglue.c 2006-07-12 01:44:25.000000000 +0900 ++++ ../Python-2.5/Python/mactoolboxglue.c 2013-07-17 23:39:09.000000000 +0900 +@@ -106,6 +106,7 @@ + } + + ++#ifndef __LP64__ + OSErr + PyMac_GetFullPathname(FSSpec *fss, char *path, int len) + { +@@ -153,6 +154,7 @@ + Py_XDECREF(fs); + return err; + } ++#endif /* !__LP64__ */ + + /* Convert a 4-char string object argument to an OSType value */ + int +@@ -417,6 +419,7 @@ + GLUE_NEW(GWorldPtr, GWorldObj_New, "Carbon.Qdoffs") + GLUE_CONVERT(GWorldPtr, GWorldObj_Convert, "Carbon.Qdoffs") + ++#ifndef __LP64__ + GLUE_NEW(Track, TrackObj_New, "Carbon.Qt") + GLUE_CONVERT(Track, TrackObj_Convert, "Carbon.Qt") + GLUE_NEW(Movie, MovieObj_New, "Carbon.Qt") +@@ -429,6 +432,7 @@ + GLUE_CONVERT(UserData, UserDataObj_Convert, "Carbon.Qt") + GLUE_NEW(Media, MediaObj_New, "Carbon.Qt") + GLUE_CONVERT(Media, MediaObj_Convert, "Carbon.Qt") ++#endif /* !__LP64__ */ + + GLUE_NEW(Handle, ResObj_New, "Carbon.Res") + GLUE_CONVERT(Handle, ResObj_Convert, "Carbon.Res") diff --git a/plugins/python-build/share/python-build/patches/2.5/Python-2.5/002_darwin_c_source.patch b/plugins/python-build/share/python-build/patches/2.5/Python-2.5/002_darwin_c_source.patch new file mode 100644 index 00000000..8cef44ad --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.5/Python-2.5/002_darwin_c_source.patch @@ -0,0 +1,166 @@ +diff -r -u ./configure ../Python-2.5/configure +--- ./configure 2006-09-05 11:54:42.000000000 +0900 ++++ ../Python-2.5/configure 2013-07-19 15:27:46.000000000 +0900 +@@ -1396,6 +1396,16 @@ + _ACEOF + + ++# The later defininition of _XOPEN_SOURCE and _POSIX_C_SOURCE disables ++# certain features on Mac OS X, so we need _DARWIN_C_SOURCE to re-enable ++# them. ++ ++cat >>confdefs.h <<\_ACEOF ++#define _DARWIN_C_SOURCE 1 ++_ACEOF ++ ++ ++ + define_xopen_source=yes + + # Arguments passed to configure. +@@ -3885,11 +3895,110 @@ + ;; + # is there any other compiler on Darwin besides gcc? + Darwin*) +- BASECFLAGS="$BASECFLAGS -Wno-long-double -no-cpp-precomp -mno-fused-madd" ++ # -Wno-long-double, -no-cpp-precomp, and -mno-fused-madd ++ # used to be here, but non-Apple gcc doesn't accept them. ++ if test "${CC}" = gcc ++ then ++ { echo "$as_me:${as_lineno-$LINENO}: checking which compiler should be used" >&5 ++echo -n "checking which compiler should be used... " >&6; } ++ case "${UNIVERSALSDK}" in ++ */MacOSX10.4u.sdk) ++ # Build using 10.4 SDK, force usage of gcc when the ++ # compiler is gcc, otherwise the user will get very ++ # confusing error messages when building on OSX 10.6 ++ CC=gcc-4.0 ++ CPP=cpp-4.0 ++ ;; ++ esac ++ { echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 ++echo "$CC" >&6; } ++ fi ++ ++ + if test "${enable_universalsdk}"; then +- BASECFLAGS="-arch ppc -arch i386 -isysroot ${UNIVERSALSDK} ${BASECFLAGS}" ++ UNIVERSAL_ARCH_FLAGS="" ++ if test "$UNIVERSAL_ARCHS" = "32-bit" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386" ++ ARCH_RUN_32BIT="" ++ LIPO_32BIT_FLAGS="" ++ elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch ppc64 -arch x86_64" ++ LIPO_32BIT_FLAGS="" ++ ARCH_RUN_32BIT="true" ++ ++ elif test "$UNIVERSAL_ARCHS" = "all" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ++ ++ elif test "$UNIVERSAL_ARCHS" = "intel" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386" ++ ++ elif test "$UNIVERSAL_ARCHS" = "3-way" ; then ++ UNIVERSAL_ARCH_FLAGS="-arch i386 -arch ppc -arch x86_64" ++ LIPO_32BIT_FLAGS="-extract ppc7400 -extract i386" ++ ARCH_RUN_32BIT="/usr/bin/arch -i386 -ppc" ++ ++ else ++ as_fn_error $? "proper usage is --with-universal-arch=32-bit|64-bit|all|intel|3-way" "$LINENO" 5 ++ ++ fi ++ ++ ++ CFLAGS="${UNIVERSAL_ARCH_FLAGS} -isysroot ${UNIVERSALSDK} ${CFLAGS}" ++ if test "${UNIVERSALSDK}" != "/" ++ then ++ CFLAGS="-isysroot ${UNIVERSALSDK} ${CFLAGS}" ++ LDFLAGS="-isysroot ${UNIVERSALSDK} ${LDFLAGS}" ++ CPPFLAGS="-isysroot ${UNIVERSALSDK} ${CPPFLAGS}" ++ fi + fi + ++ # Calculate the right deployment target for this build. ++ # ++ cur_target=`sw_vers -productVersion | sed 's/\(10\.[0-9]*\).*/\1/'` ++ if test ${cur_target} '>' 10.2 && \ ++ test ${cur_target} '<' 10.6 ++ 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' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "3-way"; then ++ cur_target='10.5' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "intel"; then ++ cur_target='10.5' ++ ++ elif test "${UNIVERSAL_ARCHS}" = "64-bit"; then ++ cur_target='10.5' ++ fi ++ else ++ if test `/usr/bin/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}} ++ ++ # Make sure that MACOSX_DEPLOYMENT_TARGET is set in the ++ # environment with a value that is the same as what we'll use ++ # in the Makefile to ensure that we'll get the same compiler ++ # environment during configure and build time. ++ MACOSX_DEPLOYMENT_TARGET="$CONFIGURE_MACOSX_DEPLOYMENT_TARGET" ++ export MACOSX_DEPLOYMENT_TARGET ++ EXPORT_MACOSX_DEPLOYMENT_TARGET='' ++ + ;; + OSF*) + BASECFLAGS="$BASECFLAGS -mieee" +@@ -10851,7 +10960,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)';; +@@ -10863,7 +10972,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 +diff -r -u ./pyconfig.h.in ../Python-2.5/pyconfig.h.in +--- ./pyconfig.h.in 2006-07-30 23:09:47.000000000 +0900 ++++ ../Python-2.5/pyconfig.h.in 2013-07-17 23:12:31.000000000 +0900 +@@ -912,6 +912,11 @@ + /* Define on Irix to enable u_int */ + #undef _BSD_TYPES + ++/* Define on Darwin to activate all library features */ ++#ifndef _DARWIN_C_SOURCE ++#define _DARWIN_C_SOURCE ++#endif ++ + /* This must be set to 64 on some systems to enable large file support. */ + #undef _FILE_OFFSET_BITS + diff --git a/plugins/python-build/share/python-build/patches/2.5/Python-2.5/003_osx_lp64.patch b/plugins/python-build/share/python-build/patches/2.5/Python-2.5/003_osx_lp64.patch new file mode 100644 index 00000000..fc07fc12 --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.5/Python-2.5/003_osx_lp64.patch @@ -0,0 +1,271 @@ +diff -r -u ./Include/pymactoolbox.h ../Python-2.5/Include/pymactoolbox.h +--- ./Include/pymactoolbox.h 2004-11-05 16:02:59.000000000 +0900 ++++ ../Python-2.5/Include/pymactoolbox.h 2013-07-17 23:38:51.000000000 +0900 +@@ -8,7 +8,10 @@ + #endif + + #include ++ ++#ifndef __LP64__ + #include ++#endif /* !__LP64__ */ + + /* + ** Helper routines for error codes and such. +@@ -18,8 +21,11 @@ + PyObject *PyMac_GetOSErrException(void); /* Initialize & return it */ + PyObject *PyErr_Mac(PyObject *, int); /* Exception with a mac error */ + PyObject *PyMac_Error(OSErr); /* Uses PyMac_GetOSErrException */ ++#ifndef __LP64__ + extern OSErr PyMac_GetFullPathname(FSSpec *, char *, int); /* convert + fsspec->path */ ++#endif /* __LP64__ */ ++ + /* + ** These conversion routines are defined in mactoolboxglue.c itself. + */ +@@ -83,8 +89,10 @@ + #endif /* USE_TOOLBOX_OBJECT_GLUE */ + + /* macfs exports */ ++#ifndef __LP64__ + int PyMac_GetFSSpec(PyObject *, FSSpec *); /* argument parser for FSSpec */ + PyObject *PyMac_BuildFSSpec(FSSpec *); /* Convert FSSpec to PyObject */ ++#endif /* !__LP64__ */ + + int PyMac_GetFSRef(PyObject *, FSRef *); /* argument parser for FSRef */ + PyObject *PyMac_BuildFSRef(FSRef *); /* Convert FSRef to PyObject */ +@@ -101,39 +109,54 @@ + extern int CmpInstObj_Convert(PyObject *, ComponentInstance *); + + /* Ctl exports */ ++#ifndef __LP64__ + extern PyObject *CtlObj_New(ControlHandle); + extern int CtlObj_Convert(PyObject *, ControlHandle *); ++#endif /* !__LP64__ */ + + /* Dlg exports */ ++#ifndef __LP64__ + extern PyObject *DlgObj_New(DialogPtr); + extern int DlgObj_Convert(PyObject *, DialogPtr *); + extern PyObject *DlgObj_WhichDialog(DialogPtr); ++#endif /* !__LP64__ */ + + /* Drag exports */ ++#ifndef __LP64__ + extern PyObject *DragObj_New(DragReference); + extern int DragObj_Convert(PyObject *, DragReference *); ++#endif /* !__LP64__ */ + + /* List exports */ ++#ifndef __LP64__ + extern PyObject *ListObj_New(ListHandle); + extern int ListObj_Convert(PyObject *, ListHandle *); ++#endif /* !__LP64__ */ + + /* Menu exports */ ++#ifndef __LP64__ + extern PyObject *MenuObj_New(MenuHandle); + extern int MenuObj_Convert(PyObject *, MenuHandle *); ++#endif /* !__LP64__ */ + + /* Qd exports */ ++#ifndef __LP64__ + extern PyObject *GrafObj_New(GrafPtr); + extern int GrafObj_Convert(PyObject *, GrafPtr *); + extern PyObject *BMObj_New(BitMapPtr); + extern int BMObj_Convert(PyObject *, BitMapPtr *); + extern PyObject *QdRGB_New(RGBColor *); + extern int QdRGB_Convert(PyObject *, RGBColor *); ++#endif /* !__LP64__ */ + + /* Qdoffs exports */ ++#ifndef __LP64__ + extern PyObject *GWorldObj_New(GWorldPtr); + extern int GWorldObj_Convert(PyObject *, GWorldPtr *); ++#endif /* !__LP64__ */ + + /* Qt exports */ ++#ifndef __LP64__ + extern PyObject *TrackObj_New(Track); + extern int TrackObj_Convert(PyObject *, Track *); + extern PyObject *MovieObj_New(Movie); +@@ -146,6 +169,7 @@ + extern int UserDataObj_Convert(PyObject *, UserData *); + extern PyObject *MediaObj_New(Media); + extern int MediaObj_Convert(PyObject *, Media *); ++#endif /* !__LP64__ */ + + /* Res exports */ + extern PyObject *ResObj_New(Handle); +@@ -154,13 +178,17 @@ + extern int OptResObj_Convert(PyObject *, Handle *); + + /* TE exports */ ++#ifndef __LP64__ + extern PyObject *TEObj_New(TEHandle); + extern int TEObj_Convert(PyObject *, TEHandle *); ++#endif /* !__LP64__ */ + + /* Win exports */ ++#ifndef __LP64__ + extern PyObject *WinObj_New(WindowPtr); + extern int WinObj_Convert(PyObject *, WindowPtr *); + extern PyObject *WinObj_WhichWindow(WindowPtr); ++#endif /* !__LP64__ */ + + /* CF exports */ + extern PyObject *CFObj_New(CFTypeRef); +diff -r -u ./Mac/Modules/res/_Resmodule.c ../Python-2.5/Mac/Modules/res/_Resmodule.c +--- ./Mac/Modules/res/_Resmodule.c 2005-07-04 05:59:44.000000000 +0900 ++++ ../Python-2.5/Mac/Modules/res/_Resmodule.c 2013-07-17 23:38:51.000000000 +0900 +@@ -414,6 +414,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *ResObj_as_Control(ResourceObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -431,6 +432,7 @@ + return _res; + + } ++#endif /* !__LP64__ */ + + static PyObject *ResObj_LoadResource(ResourceObject *_self, PyObject *_args) + { +@@ -1152,6 +1154,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_OpenRFPerm(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1287,6 +1290,7 @@ + _res = Py_None; + return _res; + } ++#endif /* !__LP64__ */ + + static PyObject *Res_InsertResourceFile(PyObject *_self, PyObject *_args) + { +@@ -1327,6 +1331,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_FSpResourceFileAlreadyOpen(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1413,6 +1418,7 @@ + nextRefNum); + return _res; + } ++#endif /* !__LP64__ */ + + static PyObject *Res_FSOpenResFile(PyObject *_self, PyObject *_args) + { +@@ -1438,6 +1444,7 @@ + return _res; + } + ++#ifndef __LP64__ + static PyObject *Res_FSCreateResFile(PyObject *_self, PyObject *_args) + { + PyObject *_res = NULL; +@@ -1534,6 +1541,7 @@ + PyMac_BuildFSSpec, &newSpec); + return _res; + } ++#endif /* __LP64__ */ + + static PyObject *Res_FSOpenResourceFile(PyObject *_self, PyObject *_args) + { +@@ -1637,6 +1645,7 @@ + PyDoc_STR("(short refNum) -> (short _rv)")}, + {"SetResFileAttrs", (PyCFunction)Res_SetResFileAttrs, 1, + PyDoc_STR("(short refNum, short attrs) -> None")}, ++#ifndef __LP64__ + {"OpenRFPerm", (PyCFunction)Res_OpenRFPerm, 1, + PyDoc_STR("(Str255 fileName, short vRefNum, SignedByte permission) -> (short _rv)")}, + {"HOpenResFile", (PyCFunction)Res_HOpenResFile, 1, +@@ -1647,10 +1656,12 @@ + PyDoc_STR("(FSSpec spec, SignedByte permission) -> (short _rv)")}, + {"FSpCreateResFile", (PyCFunction)Res_FSpCreateResFile, 1, + PyDoc_STR("(FSSpec spec, OSType creator, OSType fileType, ScriptCode scriptTag) -> None")}, ++#endif /* !__LP64__ */ + {"InsertResourceFile", (PyCFunction)Res_InsertResourceFile, 1, + PyDoc_STR("(SInt16 refNum, RsrcChainLocation where) -> None")}, + {"DetachResourceFile", (PyCFunction)Res_DetachResourceFile, 1, + PyDoc_STR("(SInt16 refNum) -> None")}, ++#ifndef __LP64__ + {"FSpResourceFileAlreadyOpen", (PyCFunction)Res_FSpResourceFileAlreadyOpen, 1, + PyDoc_STR("(FSSpec resourceFile) -> (Boolean _rv, Boolean inChain, SInt16 refNum)")}, + {"FSpOpenOrphanResFile", (PyCFunction)Res_FSpOpenOrphanResFile, 1, +@@ -1659,14 +1670,17 @@ + PyDoc_STR("() -> (SInt16 refNum)")}, + {"GetNextResourceFile", (PyCFunction)Res_GetNextResourceFile, 1, + PyDoc_STR("(SInt16 curRefNum) -> (SInt16 nextRefNum)")}, ++#endif /* __LP64__ */ + {"FSOpenResFile", (PyCFunction)Res_FSOpenResFile, 1, + PyDoc_STR("(FSRef ref, SignedByte permission) -> (short _rv)")}, ++#ifndef __LP64__ + {"FSCreateResFile", (PyCFunction)Res_FSCreateResFile, 1, + PyDoc_STR("(FSRef parentRef, Buffer nameLength) -> (FSRef newRef, FSSpec newSpec)")}, + {"FSResourceFileAlreadyOpen", (PyCFunction)Res_FSResourceFileAlreadyOpen, 1, + PyDoc_STR("(FSRef resourceFileRef) -> (Boolean _rv, Boolean inChain, SInt16 refNum)")}, + {"FSCreateResourceFile", (PyCFunction)Res_FSCreateResourceFile, 1, + PyDoc_STR("(FSRef parentRef, Buffer nameLength, Buffer forkNameLength) -> (FSRef newRef, FSSpec newSpec)")}, ++#endif /* __LP64__ */ + {"FSOpenResourceFile", (PyCFunction)Res_FSOpenResourceFile, 1, + PyDoc_STR("(FSRef ref, Buffer forkNameLength, SignedByte permissions) -> (SInt16 refNum)")}, + {"Handle", (PyCFunction)Res_Handle, 1, +diff -r -u ./Modules/_ctypes/libffi/src/darwin/ffitarget.h ../Python-2.5/Modules/_ctypes/libffi/src/darwin/ffitarget.h +--- ./Modules/_ctypes/libffi/src/darwin/ffitarget.h 2006-05-26 06:58:05.000000000 +0900 ++++ ../Python-2.5/Modules/_ctypes/libffi/src/darwin/ffitarget.h 2013-07-17 23:38:51.000000000 +0900 +@@ -4,7 +4,7 @@ + * created by configure). This makes is possible to build a univeral binary + * of ctypes in one go. + */ +-#if defined(__i386__) ++#if defined(__i386__) || defined(__x86_64__) + + #ifndef X86_DARWIN + #define X86_DARWIN +diff -r -u ./Python/mactoolboxglue.c ../Python-2.5/Python/mactoolboxglue.c +--- ./Python/mactoolboxglue.c 2006-07-12 01:44:25.000000000 +0900 ++++ ../Python-2.5/Python/mactoolboxglue.c 2013-07-17 23:39:09.000000000 +0900 +@@ -106,6 +106,7 @@ + } + + ++#ifndef __LP64__ + OSErr + PyMac_GetFullPathname(FSSpec *fss, char *path, int len) + { +@@ -153,6 +154,7 @@ + Py_XDECREF(fs); + return err; + } ++#endif /* !__LP64__ */ + + /* Convert a 4-char string object argument to an OSType value */ + int +@@ -417,6 +419,7 @@ + GLUE_NEW(GWorldPtr, GWorldObj_New, "Carbon.Qdoffs") + GLUE_CONVERT(GWorldPtr, GWorldObj_Convert, "Carbon.Qdoffs") + ++#ifndef __LP64__ + GLUE_NEW(Track, TrackObj_New, "Carbon.Qt") + GLUE_CONVERT(Track, TrackObj_Convert, "Carbon.Qt") + GLUE_NEW(Movie, MovieObj_New, "Carbon.Qt") +@@ -429,6 +432,7 @@ + GLUE_CONVERT(UserData, UserDataObj_Convert, "Carbon.Qt") + GLUE_NEW(Media, MediaObj_New, "Carbon.Qt") + GLUE_CONVERT(Media, MediaObj_Convert, "Carbon.Qt") ++#endif /* !__LP64__ */ + + GLUE_NEW(Handle, ResObj_New, "Carbon.Res") + GLUE_CONVERT(Handle, ResObj_Convert, "Carbon.Res")