python: Promote from meta-extras to meta

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5092 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Richard Purdie
2008-08-25 20:33:55 +00:00
parent 07eeb6a8b6
commit 16e6877c4c
38 changed files with 0 additions and 0 deletions

View File

@@ -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 <stdio.h>
-#include <stddef.h>
-#include <string.h>
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#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 <sys/socket.h> does not define.),[

View File

@@ -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

View File

@@ -0,0 +1,110 @@
#
# Patch (C) by Michael 'Mickey' Lauer <mlauer@vanille-media.de>
#
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.

View File

@@ -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:

View File

@@ -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;

View File

@@ -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)

View File

@@ -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,

View File

@@ -0,0 +1,44 @@
# OpenEmbedded sitecustomize.py (C) 2002-2008 Michael 'Mickey' Lauer <mlauer@vanille-media.de>
# 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()