From 27f3b8da5da091243683e63a1506438577184d0e Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Thu, 3 Apr 2008 05:18:43 +0000 Subject: python: upgraded to 2.5.2 (merged from OE) git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4163 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- .../packages/python/python-2.5.2/autohell.patch | 50 ++++++++++ .../python/python-2.5.2/bindir-libdir.patch | 20 ++++ .../python/python-2.5.2/crosscompile.patch | 110 +++++++++++++++++++++ .../python/python-2.5.2/default-is-optimized.patch | 13 +++ .../python/python-2.5.2/enable-ctypes-module.patch | 106 ++++++++++++++++++++ .../python-2.5.2/fix-tkinter-detection.patch | 41 ++++++++ .../python/python-2.5.2/sitebranding.patch | 21 ++++ .../packages/python/python-2.5.2/sitecustomize.py | 44 +++++++++ 8 files changed, 405 insertions(+) create mode 100644 meta-extras/packages/python/python-2.5.2/autohell.patch create mode 100644 meta-extras/packages/python/python-2.5.2/bindir-libdir.patch create mode 100644 meta-extras/packages/python/python-2.5.2/crosscompile.patch create mode 100644 meta-extras/packages/python/python-2.5.2/default-is-optimized.patch create mode 100644 meta-extras/packages/python/python-2.5.2/enable-ctypes-module.patch create mode 100644 meta-extras/packages/python/python-2.5.2/fix-tkinter-detection.patch create mode 100644 meta-extras/packages/python/python-2.5.2/sitebranding.patch create mode 100644 meta-extras/packages/python/python-2.5.2/sitecustomize.py (limited to 'meta-extras/packages/python/python-2.5.2') diff --git a/meta-extras/packages/python/python-2.5.2/autohell.patch b/meta-extras/packages/python/python-2.5.2/autohell.patch new file mode 100644 index 000000000..32977955d --- /dev/null +++ b/meta-extras/packages/python/python-2.5.2/autohell.patch @@ -0,0 +1,50 @@ +Index: Python-2.5.2/configure.in +=================================================================== +--- Python-2.5.2.orig/configure.in ++++ Python-2.5.2/configure.in +@@ -3410,45 +3410,6 @@ esac + + + +-AC_MSG_CHECKING(for %zd printf() format support) +-AC_TRY_RUN([#include +-#include +-#include +- +-#ifdef HAVE_SYS_TYPES_H +-#include +-#endif +- +-#ifdef HAVE_SSIZE_T +-typedef ssize_t Py_ssize_t; +-#elif SIZEOF_VOID_P == SIZEOF_LONG +-typedef long Py_ssize_t; +-#else +-typedef int Py_ssize_t; +-#endif +- +-int main() +-{ +- char buffer[256]; +- +- if(sprintf(buffer, "%zd", (size_t)123) < 0) +- return 1; +- +- if (strcmp(buffer, "123")) +- return 1; +- +- if (sprintf(buffer, "%zd", (Py_ssize_t)-123) < 0) +- return 1; +- +- if (strcmp(buffer, "-123")) +- return 1; +- +- return 0; +-}], +-[AC_MSG_RESULT(yes) +- AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Define to printf format modifier for Py_ssize_t])], +- AC_MSG_RESULT(no)) +- + AC_CHECK_TYPE(socklen_t,, + AC_DEFINE(socklen_t,int, + Define to `int' if does not define.),[ diff --git a/meta-extras/packages/python/python-2.5.2/bindir-libdir.patch b/meta-extras/packages/python/python-2.5.2/bindir-libdir.patch new file mode 100644 index 000000000..047c358a5 --- /dev/null +++ b/meta-extras/packages/python/python-2.5.2/bindir-libdir.patch @@ -0,0 +1,20 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +Index: Python-2.5.1/Makefile.pre.in +=================================================================== +--- Python-2.5.1.orig/Makefile.pre.in ++++ Python-2.5.1/Makefile.pre.in +@@ -83,8 +83,8 @@ prefix= @prefix@ + exec_prefix= @exec_prefix@ + + # Expanded directories +-BINDIR= $(exec_prefix)/bin +-LIBDIR= $(exec_prefix)/lib ++BINDIR= @bindir@ ++LIBDIR= @libdir@ + MANDIR= @mandir@ + INCLUDEDIR= @includedir@ + CONFINCLUDEDIR= $(exec_prefix)/include diff --git a/meta-extras/packages/python/python-2.5.2/crosscompile.patch b/meta-extras/packages/python/python-2.5.2/crosscompile.patch new file mode 100644 index 000000000..f1b1c6f3e --- /dev/null +++ b/meta-extras/packages/python/python-2.5.2/crosscompile.patch @@ -0,0 +1,110 @@ +# +# Patch (C) by Michael 'Mickey' Lauer +# +Index: Python-2.5.2/Makefile.pre.in +=================================================================== +--- Python-2.5.2.orig/Makefile.pre.in ++++ Python-2.5.2/Makefile.pre.in +@@ -173,6 +173,7 @@ UNICODE_OBJS= @UNICODE_OBJS@ + + PYTHON= python$(EXE) + BUILDPYTHON= python$(BUILDEXE) ++HOSTPYTHON= $(BUILDPYTHON) + + # === Definitions added by makesetup === + +@@ -199,7 +200,7 @@ GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar + ########################################################################## + # Parser + PGEN= Parser/pgen$(EXE) +- ++HOSTPGEN= $(PGEN)$(EXE) + POBJS= \ + Parser/acceler.o \ + Parser/grammar1.o \ +@@ -348,8 +349,8 @@ platform: $(BUILDPYTHON) + # Build the shared modules + sharedmods: $(BUILDPYTHON) + case $$MAKEFLAGS in \ +- *-s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \ +- *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \ ++ *-s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \ ++ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \ + esac + + # Build static library +@@ -474,7 +475,7 @@ Modules/python.o: $(srcdir)/Modules/pyth + + $(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT) + -@ mkdir Include +- -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) ++ -$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) + + $(PGEN): $(PGENOBJS) + $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN) +@@ -782,19 +783,19 @@ libinstall: $(BUILDPYTHON) $(srcdir)/Lib + done + $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt + PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- ./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ ++ $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST) -f \ + -x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST) + PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- ./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ ++ $(HOSTPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST) -f \ + -x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST) + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- ./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \ ++ $(HOSTPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST)/site-packages -f \ + -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- ./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \ ++ $(HOSTPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST)/site-packages -f \ + -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages + +@@ -894,7 +895,7 @@ libainstall: all + # Install the dynamically loadable modules + # This goes into $(exec_prefix) + sharedinstall: +- $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \ ++ $(RUNSHARED) $(HOSTPYTHON) -E $(srcdir)/setup.py install \ + --prefix=$(prefix) \ + --install-scripts=$(BINDIR) \ + --install-platlib=$(DESTSHARED) \ +Index: Python-2.5.2/setup.py +=================================================================== +--- Python-2.5.2.orig/setup.py ++++ Python-2.5.2/setup.py +@@ -211,6 +211,7 @@ class PyBuildExt(build_ext): + except ImportError, why: + self.announce('*** WARNING: renaming "%s" since importing it' + ' failed: %s' % (ext.name, why), level=3) ++ return + assert not self.inplace + basename, tail = os.path.splitext(ext_filename) + newname = basename + "_failed" + tail +@@ -244,8 +245,8 @@ class PyBuildExt(build_ext): + + def detect_modules(self): + # Ensure that /usr/local is always used +- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') +- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ # add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') ++ # add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') + + # Add paths specified in the environment variables LDFLAGS and + # CPPFLAGS for header and library files. +@@ -342,6 +343,9 @@ class PyBuildExt(build_ext): + + # XXX Omitted modules: gl, pure, dl, SGI-specific modules + ++ lib_dirs = [ os.getenv( "STAGING_LIBDIR" ) ] ++ inc_dirs = [ os.getenv( "STAGING_INCDIR" ) ] ++ + # + # The following modules are all pretty straightforward, and compile + # on pretty much any POSIXish platform. diff --git a/meta-extras/packages/python/python-2.5.2/default-is-optimized.patch b/meta-extras/packages/python/python-2.5.2/default-is-optimized.patch new file mode 100644 index 000000000..6beeb6e02 --- /dev/null +++ b/meta-extras/packages/python/python-2.5.2/default-is-optimized.patch @@ -0,0 +1,13 @@ +Index: Python-2.5.1/Python/compile.c +=================================================================== +--- Python-2.5.1.orig/Python/compile.c ++++ Python-2.5.1/Python/compile.c +@@ -30,7 +30,7 @@ + #include "symtable.h" + #include "opcode.h" + +-int Py_OptimizeFlag = 0; ++int Py_OptimizeFlag = 1; + + /* + ISSUES: diff --git a/meta-extras/packages/python/python-2.5.2/enable-ctypes-module.patch b/meta-extras/packages/python/python-2.5.2/enable-ctypes-module.patch new file mode 100644 index 000000000..dd5adaf0e --- /dev/null +++ b/meta-extras/packages/python/python-2.5.2/enable-ctypes-module.patch @@ -0,0 +1,106 @@ +diff -Naur Python-2.5.1.orig/setup.py Python-2.5.1/setup.py +--- Python-2.5.orig/setup.py 2006-08-10 01:42:18.000000000 +0200 ++++ Python-2.5/setup.py 2007-11-21 18:00:43.000000000 +0100 +@@ -1321,16 +1329,16 @@ + ffi_configfile): + from distutils.dir_util import mkpath + mkpath(ffi_builddir) +- config_args = [] ++ config_args = ['--host=%s' % os.environ["HOST_SYS"], ] + + # Pass empty CFLAGS because we'll just append the resulting + # CFLAGS to Python's; -g or -O2 is to be avoided. +- cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \ +- % (ffi_builddir, ffi_srcdir, " ".join(config_args)) ++ cmd = "(cd %s && autoconf -W cross) && (cd %s && env CFLAGS='' '%s/configure' %s)" \ ++ % (ffi_srcdir, ffi_builddir, ffi_srcdir, " ".join(config_args)) + + res = os.system(cmd) + if res or not os.path.exists(ffi_configfile): +- print "Failed to configure _ctypes module" ++ print "Failed to configure _ctypes module, ret %d or missing %s"% (res, ffi_configfile, ) + return False + + fficonfig = {} +diff -Naur Python-2.5.1.orig/Modules/_ctypes/callbacks.c Python-2.5.1/Modules/_ctypes/callbacks.c +--- Python-2.5.1.orig/Modules/_ctypes/callbacks.c 2006-10-17 21:41:10.000000000 +0200 ++++ Python-2.5.1/Modules/_ctypes/callbacks.c 2007-11-22 10:29:33.000000000 +0100 +@@ -273,11 +273,13 @@ + PyErr_NoMemory(); + return NULL; + } ++#if FFI_CLOSURES + p->pcl = MallocClosure(); + if (p->pcl == NULL) { + PyErr_NoMemory(); + goto error; + } ++#endif + + for (i = 0; i < nArgs; ++i) { + PyObject *cnv = PySequence_GetItem(converters, i); +@@ -315,12 +317,14 @@ + "ffi_prep_cif failed with %d", result); + goto error; + } ++#if FFI_CLOSURES + result = ffi_prep_closure(p->pcl, &p->cif, closure_fcn, p); + if (result != FFI_OK) { + PyErr_Format(PyExc_RuntimeError, + "ffi_prep_closure failed with %d", result); + goto error; + } ++#endif + + p->converters = converters; + p->callable = callable; +@@ -328,8 +332,10 @@ + + error: + if (p) { ++#if FFI_CLOSURES + if (p->pcl) + FreeClosure(p->pcl); ++#endif + PyMem_Free(p); + } + return NULL; +diff -Naur Python-2.5.1.orig/Modules/_ctypes/_ctypes.c Python-2.5.1/Modules/_ctypes/_ctypes.c +--- Python-2.5.1.orig/Modules/_ctypes/_ctypes.c 2007-03-23 20:56:45.000000000 +0100 ++++ Python-2.5.1/Modules/_ctypes/_ctypes.c 2007-11-22 10:29:01.000000000 +0100 +@@ -3419,7 +3419,9 @@ + Py_CLEAR(self->paramflags); + + if (self->thunk) { ++#if FFI_CLOSURES + FreeClosure(self->thunk->pcl); ++#endif + PyMem_Free(self->thunk); + self->thunk = NULL; + } +diff -Naur Python-2.5.1.orig/Modules/_ctypes/ctypes.h Python-2.5.1/Modules/_ctypes/ctypes.h +--- Python-2.5.1.orig/Modules/_ctypes/ctypes.h 2006-08-14 13:17:48.000000000 +0200 ++++ Python-2.5.1/Modules/_ctypes/ctypes.h 2007-11-22 10:29:44.000000000 +0100 +@@ -68,7 +68,9 @@ + }; + + typedef struct { ++#if FFI_CLOSURES + ffi_closure *pcl; /* the C callable */ ++#endif + ffi_cif cif; + PyObject *converters; + PyObject *callable; +diff -Naur Python-2.5.1.orig/Modules/_ctypes/malloc_closure.c Python-2.5.1/Modules/_ctypes/malloc_closure.c +--- Python-2.5.1.orig/Modules/_ctypes/malloc_closure.c 2006-06-12 22:56:48.000000000 +0200 ++++ Python-2.5.1/Modules/_ctypes/malloc_closure.c 2007-11-22 10:30:17.000000000 +0100 +@@ -27,7 +27,9 @@ + /******************************************************************/ + + typedef union _tagITEM { ++#if FFI_CLOSURES + ffi_closure closure; ++#endif + union _tagITEM *next; + } ITEM; + diff --git a/meta-extras/packages/python/python-2.5.2/fix-tkinter-detection.patch b/meta-extras/packages/python/python-2.5.2/fix-tkinter-detection.patch new file mode 100644 index 000000000..93bd34338 --- /dev/null +++ b/meta-extras/packages/python/python-2.5.2/fix-tkinter-detection.patch @@ -0,0 +1,41 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +Index: Python-2.5.1/setup.py +=================================================================== +--- Python-2.5.1.orig/setup.py ++++ Python-2.5.1/setup.py +@@ -1227,7 +1227,7 @@ class PyBuildExt(build_ext): + dotversion = dotversion[:-1] + '.' + dotversion[-1] + tcl_include_sub = [] + tk_include_sub = [] +- for dir in inc_dirs: ++ for dir in [os.getenv("STAGING_INCDIR")]: + tcl_include_sub += [dir + os.sep + "tcl" + dotversion] + tk_include_sub += [dir + os.sep + "tk" + dotversion] + tk_include_sub += tcl_include_sub +@@ -1246,22 +1246,6 @@ class PyBuildExt(build_ext): + if dir not in include_dirs: + include_dirs.append(dir) + +- # Check for various platform-specific directories +- if platform == 'sunos5': +- include_dirs.append('/usr/openwin/include') +- added_lib_dirs.append('/usr/openwin/lib') +- elif os.path.exists('/usr/X11R6/include'): +- include_dirs.append('/usr/X11R6/include') +- added_lib_dirs.append('/usr/X11R6/lib64') +- added_lib_dirs.append('/usr/X11R6/lib') +- elif os.path.exists('/usr/X11R5/include'): +- include_dirs.append('/usr/X11R5/include') +- added_lib_dirs.append('/usr/X11R5/lib') +- else: +- # Assume default location for X11 +- include_dirs.append('/usr/X11/include') +- added_lib_dirs.append('/usr/X11/lib') +- + # If Cygwin, then verify that X is installed before proceeding + if platform == 'cygwin': + x11_inc = find_file('X11/Xlib.h', [], include_dirs) diff --git a/meta-extras/packages/python/python-2.5.2/sitebranding.patch b/meta-extras/packages/python/python-2.5.2/sitebranding.patch new file mode 100644 index 000000000..c6e486ae9 --- /dev/null +++ b/meta-extras/packages/python/python-2.5.2/sitebranding.patch @@ -0,0 +1,21 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +Index: Python-2.5.1/Lib/site.py +=================================================================== +--- Python-2.5.1.orig/Lib/site.py ++++ Python-2.5.1/Lib/site.py +@@ -323,8 +323,9 @@ def setcopyright(): + "Jython is maintained by the Jython developers (www.jython.org).") + else: + __builtin__.credits = _Printer("credits", """\ +- Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands +- for supporting Python development. See www.python.org for more information.""") ++ This version of Python has been built by the OpenEmbedded buildsystem (http://openembedded.org). ++ It is a part of the Python-For-Embedded-Systems initiative which is maintained by ++ Michael 'Mickey' Lauer (http://www.Vanille.de/projects/python.spy).""") + here = os.path.dirname(os.__file__) + __builtin__.license = _Printer( + "license", "See http://www.python.org/%.3s/license.html" % sys.version, diff --git a/meta-extras/packages/python/python-2.5.2/sitecustomize.py b/meta-extras/packages/python/python-2.5.2/sitecustomize.py new file mode 100644 index 000000000..ec626b4b6 --- /dev/null +++ b/meta-extras/packages/python/python-2.5.2/sitecustomize.py @@ -0,0 +1,44 @@ +# OpenEmbedded sitecustomize.py (C) 2002-2008 Michael 'Mickey' Lauer +# GPLv2 or later +# Version: 20082201 +# Features: +# * set proper default encoding +# * enable readline completion in the interactive interpreter +# * load command line history on startup +# * save command line history on exit + +import os + +def __exithandler(): + try: + readline.write_history_file( "%s/.python-history" % os.getenv( "HOME", "/tmp" ) ) + except IOError: + pass + +def __registerExitHandler(): + import atexit + atexit.register( __exithandler ) + +def __enableReadlineSupport(): + readline.parse_and_bind("tab: complete") + try: + readline.read_history_file( "%s/.python-history" % os.getenv( "HOME", "/tmp" ) ) + except IOError: + pass + +def __enableDefaultEncoding(): + import sys + try: + sys.setdefaultencoding('utf8') + except LookupError: + pass + +import sys +try: + import rlcompleter, readline +except ImportError: + pass +else: + __enableDefaultEncoding() + __registerExitHandler() + __enableReadlineSupport() -- cgit v1.2.3