summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python-native-2.6.5
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/python/python-native-2.6.5')
-rw-r--r--meta/recipes-devtools/python/python-native-2.6.5/00-fix-bindir-libdir-for-cross.patch20
-rw-r--r--meta/recipes-devtools/python/python-native-2.6.5/04-default-is-optimized.patch18
-rw-r--r--meta/recipes-devtools/python/python-native-2.6.5/10-distutils-fix-swig-parameter.patch16
-rw-r--r--meta/recipes-devtools/python/python-native-2.6.5/11-distutils-never-modify-shebang-line.patch18
-rw-r--r--meta/recipes-devtools/python/python-native-2.6.5/12-distutils-prefix-is-inside-staging-area.patch60
-rw-r--r--meta/recipes-devtools/python/python-native-2.6.5/debug.patch27
-rw-r--r--meta/recipes-devtools/python/python-native-2.6.5/nohostlibs.patch53
-rw-r--r--meta/recipes-devtools/python/python-native-2.6.5/sitecustomize.py45
8 files changed, 257 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python-native-2.6.5/00-fix-bindir-libdir-for-cross.patch b/meta/recipes-devtools/python/python-native-2.6.5/00-fix-bindir-libdir-for-cross.patch
new file mode 100644
index 0000000000..2559e3a0e4
--- /dev/null
+++ b/meta/recipes-devtools/python/python-native-2.6.5/00-fix-bindir-libdir-for-cross.patch
@@ -0,0 +1,20 @@
1# $(exec_prefix) points to the wrong directory, when installing
2# a cross-build. @bindir@ and @libdir@ works better and doesn't
3# affect the native build.
4# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
5
6Index: Python-2.6.1/Makefile.pre.in
7===================================================================
8--- Python-2.6.1.orig/Makefile.pre.in
9+++ Python-2.6.1/Makefile.pre.in
10@@ -86,8 +86,8 @@ exec_prefix= @exec_prefix@
11 datarootdir= @datarootdir@
12
13 # Expanded directories
14-BINDIR= $(exec_prefix)/bin
15-LIBDIR= $(exec_prefix)/lib
16+BINDIR= @bindir@
17+LIBDIR= @libdir@
18 MANDIR= @mandir@
19 INCLUDEDIR= @includedir@
20 CONFINCLUDEDIR= $(exec_prefix)/include
diff --git a/meta/recipes-devtools/python/python-native-2.6.5/04-default-is-optimized.patch b/meta/recipes-devtools/python/python-native-2.6.5/04-default-is-optimized.patch
new file mode 100644
index 0000000000..5131e0ba69
--- /dev/null
+++ b/meta/recipes-devtools/python/python-native-2.6.5/04-default-is-optimized.patch
@@ -0,0 +1,18 @@
1# When compiling for an embedded system, we need every bit of
2# performance we can get. default to optimized with the option
3# of opt-out.
4# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
5
6Index: Python-2.6.1/Python/compile.c
7===================================================================
8--- Python-2.6.1.orig/Python/compile.c
9+++ Python-2.6.1/Python/compile.c
10@@ -32,7 +32,7 @@
11 #include "symtable.h"
12 #include "opcode.h"
13
14-int Py_OptimizeFlag = 0;
15+int Py_OptimizeFlag = 1;
16
17 #define DEFAULT_BLOCK_SIZE 16
18 #define DEFAULT_BLOCKS 8
diff --git a/meta/recipes-devtools/python/python-native-2.6.5/10-distutils-fix-swig-parameter.patch b/meta/recipes-devtools/python/python-native-2.6.5/10-distutils-fix-swig-parameter.patch
new file mode 100644
index 0000000000..f5e852a118
--- /dev/null
+++ b/meta/recipes-devtools/python/python-native-2.6.5/10-distutils-fix-swig-parameter.patch
@@ -0,0 +1,16 @@
1# Some versions of SWIG do not use the extension parameter.
2# Make it optional.
3# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
4Index: Python-2.6.1/Lib/distutils/command/build_ext.py
5===================================================================
6--- Python-2.6.1.orig/Lib/distutils/command/build_ext.py
7+++ Python-2.6.1/Lib/distutils/command/build_ext.py
8@@ -566,7 +566,7 @@ class build_ext (Command):
9 target_lang=language)
10
11
12- def swig_sources (self, sources, extension):
13+ def swig_sources (self, sources, extension=None):
14
15 """Walk the list of source files in 'sources', looking for SWIG
16 interface (.i) files. Run SWIG on all that are found, and
diff --git a/meta/recipes-devtools/python/python-native-2.6.5/11-distutils-never-modify-shebang-line.patch b/meta/recipes-devtools/python/python-native-2.6.5/11-distutils-never-modify-shebang-line.patch
new file mode 100644
index 0000000000..8354e266fa
--- /dev/null
+++ b/meta/recipes-devtools/python/python-native-2.6.5/11-distutils-never-modify-shebang-line.patch
@@ -0,0 +1,18 @@
1# Don't modify the she-bang line for a cross-build.
2# Otherwise it points to our hostpython (which we do not want)
3#
4# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
5
6Index: Python-2.6.1/Lib/distutils/command/build_scripts.py
7===================================================================
8--- Python-2.6.1.orig/Lib/distutils/command/build_scripts.py
9+++ Python-2.6.1/Lib/distutils/command/build_scripts.py
10@@ -87,7 +87,7 @@ class build_scripts (Command):
11 continue
12
13 match = first_line_re.match(first_line)
14- if match:
15+ if False: #match:
16 adjust = 1
17 post_interp = match.group(1) or ''
18
diff --git a/meta/recipes-devtools/python/python-native-2.6.5/12-distutils-prefix-is-inside-staging-area.patch b/meta/recipes-devtools/python/python-native-2.6.5/12-distutils-prefix-is-inside-staging-area.patch
new file mode 100644
index 0000000000..aa4393679f
--- /dev/null
+++ b/meta/recipes-devtools/python/python-native-2.6.5/12-distutils-prefix-is-inside-staging-area.patch
@@ -0,0 +1,60 @@
1# The proper prefix is inside our staging area.
2# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
3
4Index: Python-2.6.1/Lib/distutils/sysconfig.py
5===================================================================
6--- Python-2.6.1.orig/Lib/distutils/sysconfig.py
7+++ Python-2.6.1/Lib/distutils/sysconfig.py
8@@ -19,8 +19,8 @@ import sys
9 from distutils.errors import DistutilsPlatformError
10
11 # These are needed in a couple of spots, so just compute them once.
12-PREFIX = os.path.normpath(sys.prefix)
13-EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
14+PREFIX = os.path.normpath(sys.prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
15+EXEC_PREFIX = os.path.normpath(sys.exec_prefix).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
16
17 # Path to the base directory of the project. On Windows the binary may
18 # live in project/PCBuild9. If we're dealing with an x64 Windows build,
19@@ -70,7 +70,10 @@ def get_python_inc(plat_specific=0, pref
20 sys.exec_prefix -- i.e., ignore 'plat_specific'.
21 """
22 if prefix is None:
23- prefix = plat_specific and EXEC_PREFIX or PREFIX
24+ if plat_specific:
25+ prefix = plat_specific and os.environ['STAGING_INCDIR'].rstrip('include')
26+ else:
27+ prefix = plat_specific and EXEC_PREFIX or PREFIX
28 if os.name == "posix":
29 if python_build:
30 base = os.path.dirname(os.path.abspath(sys.executable))
31@@ -112,7 +115,10 @@ def get_python_lib(plat_specific=0, stan
32 sys.exec_prefix -- i.e., ignore 'plat_specific'.
33 """
34 if prefix is None:
35- prefix = plat_specific and EXEC_PREFIX or PREFIX
36+ if plat_specific:
37+ prefix = plat_specific and os.environ['STAGING_LIBDIR'].rstrip('lib')
38+ else:
39+ prefix = plat_specific and EXEC_PREFIX or PREFIX
40
41 if os.name == "posix":
42 libpython = os.path.join(prefix,
43@@ -218,7 +218,7 @@ def get_config_h_filename():
44 else:
45 # The name of the config.h file changed in 2.2
46 config_h = 'pyconfig.h'
47- return os.path.join(inc_dir, config_h)
48+ return os.path.join(inc_dir, config_h).replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
49
50
51 def get_makefile_filename():
52@@ -226,7 +226,7 @@ def get_makefile_filename():
53 if python_build:
54 return os.path.join(os.path.dirname(sys.executable), "Makefile")
55 lib_dir = get_python_lib(plat_specific=1, standard_lib=1)
56- return os.path.join(lib_dir, "config", "Makefile")
57+ return os.path.join(lib_dir, "config", "Makefile").replace( os.getenv("BUILD_SYS"), os.getenv("HOST_SYS") )
58
59
60 def parse_config_h(fp, g=None):
diff --git a/meta/recipes-devtools/python/python-native-2.6.5/debug.patch b/meta/recipes-devtools/python/python-native-2.6.5/debug.patch
new file mode 100644
index 0000000000..beb3adc6db
--- /dev/null
+++ b/meta/recipes-devtools/python/python-native-2.6.5/debug.patch
@@ -0,0 +1,27 @@
1Index: Python-2.6.1/Lib/distutils/unixccompiler.py
2===================================================================
3--- Python-2.6.1.orig/Lib/distutils/unixccompiler.py 2009-11-13 16:04:54.000000000 +0000
4+++ Python-2.6.1/Lib/distutils/unixccompiler.py 2009-11-13 16:06:27.000000000 +0000
5@@ -300,6 +300,8 @@
6 dylib_f = self.library_filename(lib, lib_type='dylib')
7 static_f = self.library_filename(lib, lib_type='static')
8
9+ print "Looking in %s for %s" % (lib, dirs)
10+
11 for dir in dirs:
12 shared = os.path.join(dir, shared_f)
13 dylib = os.path.join(dir, dylib_f)
14@@ -309,10 +311,13 @@
15 # assuming that *all* Unix C compilers do. And of course I'm
16 # ignoring even GCC's "-static" option. So sue me.
17 if os.path.exists(dylib):
18+ print "Found %s" % (dylib)
19 return dylib
20 elif os.path.exists(shared):
21+ print "Found %s" % (shared)
22 return shared
23 elif os.path.exists(static):
24+ print "Found %s" % (static)
25 return static
26
27 # Oops, didn't find it in *any* of 'dirs'
diff --git a/meta/recipes-devtools/python/python-native-2.6.5/nohostlibs.patch b/meta/recipes-devtools/python/python-native-2.6.5/nohostlibs.patch
new file mode 100644
index 0000000000..7020f3c2a9
--- /dev/null
+++ b/meta/recipes-devtools/python/python-native-2.6.5/nohostlibs.patch
@@ -0,0 +1,53 @@
1Index: Python-2.6.1/setup.py
2===================================================================
3--- Python-2.6.1.orig/setup.py 2009-11-13 16:20:47.000000000 +0000
4+++ Python-2.6.1/setup.py 2009-11-13 16:28:00.000000000 +0000
5@@ -310,8 +310,8 @@
6
7 def detect_modules(self):
8 # Ensure that /usr/local is always used
9- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
10- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
11+ #add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
12+ #add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
13
14 # Add paths specified in the environment variables LDFLAGS and
15 # CPPFLAGS for header and library files.
16@@ -347,10 +347,10 @@
17 for directory in reversed(options.dirs):
18 add_dir_to_list(dir_list, directory)
19
20- if os.path.normpath(sys.prefix) != '/usr':
21- add_dir_to_list(self.compiler.library_dirs,
22+
23+ add_dir_to_list(self.compiler.library_dirs,
24 sysconfig.get_config_var("LIBDIR"))
25- add_dir_to_list(self.compiler.include_dirs,
26+ add_dir_to_list(self.compiler.include_dirs,
27 sysconfig.get_config_var("INCLUDEDIR"))
28
29 try:
30@@ -361,11 +361,8 @@
31 # lib_dirs and inc_dirs are used to search for files;
32 # if a file is found in one of those directories, it can
33 # be assumed that no additional -I,-L directives are needed.
34- lib_dirs = self.compiler.library_dirs + [
35- '/lib64', '/usr/lib64',
36- '/lib', '/usr/lib',
37- ]
38- inc_dirs = self.compiler.include_dirs + ['/usr/include']
39+ lib_dirs = self.compiler.library_dirs
40+ inc_dirs = self.compiler.include_dirs
41 exts = []
42 missing = []
43
44@@ -583,8 +580,7 @@
45 readline_libs.append('ncurses')
46 elif self.compiler.find_library_file(lib_dirs, 'curses'):
47 readline_libs.append('curses')
48- elif self.compiler.find_library_file(lib_dirs +
49- ['/usr/lib/termcap'],
50+ elif self.compiler.find_library_file(lib_dirs,
51 'termcap'):
52 readline_libs.append('termcap')
53 exts.append( Extension('readline', ['readline.c'],
diff --git a/meta/recipes-devtools/python/python-native-2.6.5/sitecustomize.py b/meta/recipes-devtools/python/python-native-2.6.5/sitecustomize.py
new file mode 100644
index 0000000000..273901898a
--- /dev/null
+++ b/meta/recipes-devtools/python/python-native-2.6.5/sitecustomize.py
@@ -0,0 +1,45 @@
1# OpenEmbedded sitecustomize.py (C) 2002-2008 Michael 'Mickey' Lauer <mlauer@vanille-media.de>
2# GPLv2 or later
3# Version: 20081123
4# Features:
5# * set proper default encoding
6# * enable readline completion in the interactive interpreter
7# * load command line history on startup
8# * save command line history on exit
9
10import os
11
12def __exithandler():
13 try:
14 readline.write_history_file( "%s/.python-history" % os.getenv( "HOME", "/tmp" ) )
15 except IOError:
16 pass
17
18def __registerExitHandler():
19 import atexit
20 atexit.register( __exithandler )
21
22def __enableReadlineSupport():
23 readline.set_history_length( 1000 )
24 readline.parse_and_bind( "tab: complete" )
25 try:
26 readline.read_history_file( "%s/.python-history" % os.getenv( "HOME", "/tmp" ) )
27 except IOError:
28 pass
29
30def __enableDefaultEncoding():
31 import sys
32 try:
33 sys.setdefaultencoding( "utf8" )
34 except LookupError:
35 pass
36
37import sys
38try:
39 import rlcompleter, readline
40except ImportError:
41 pass
42else:
43 __enableDefaultEncoding()
44 __registerExitHandler()
45 __enableReadlineSupport()