mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-19 20:59:41 +02:00
python: Add ncurses support. Requires cross-compile patch for library search.
Signed-off-by: Raymond Danks <ray.danks@se-eng.com>
This commit is contained in:
parent
f526d9e5ad
commit
c0274e4772
|
@ -0,0 +1,138 @@
|
||||||
|
Upstream-Status: Inappropriate [embedded specific]
|
||||||
|
|
||||||
|
# We need to ensure our host tools get run during build, not the freshly
|
||||||
|
# built cross-tools (this will not work), so we introduce HOSTPYTHON and HOSTPGEN.
|
||||||
|
# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
|
||||||
|
|
||||||
|
Index: Python-2.7.2/Makefile.pre.in
|
||||||
|
===================================================================
|
||||||
|
--- Python-2.7.2.orig/Makefile.pre.in
|
||||||
|
+++ Python-2.7.2/Makefile.pre.in
|
||||||
|
@@ -182,6 +182,7 @@ UNICODE_OBJS= @UNICODE_OBJS@
|
||||||
|
|
||||||
|
PYTHON= python$(EXE)
|
||||||
|
BUILDPYTHON= python$(BUILDEXE)
|
||||||
|
+HOSTPYTHON= $(BUILDPYTHON)
|
||||||
|
|
||||||
|
# The task to run while instrument when building the profile-opt target
|
||||||
|
PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck
|
||||||
|
@@ -214,7 +215,7 @@ LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@
|
||||||
|
##########################################################################
|
||||||
|
# Parser
|
||||||
|
PGEN= Parser/pgen$(EXE)
|
||||||
|
-
|
||||||
|
+HOSTPGEN= $(PGEN)$(EXE)
|
||||||
|
POBJS= \
|
||||||
|
Parser/acceler.o \
|
||||||
|
Parser/grammar1.o \
|
||||||
|
@@ -401,14 +402,14 @@ $(BUILDPYTHON): Modules/python.o $(LIBRA
|
||||||
|
$(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
|
||||||
|
|
||||||
|
platform: $(BUILDPYTHON)
|
||||||
|
- $(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
|
||||||
|
+ $(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
|
||||||
|
|
||||||
|
|
||||||
|
# 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
|
||||||
|
@@ -542,7 +543,7 @@ Modules/python.o: $(srcdir)/Modules/pyth
|
||||||
|
$(GRAMMAR_H) $(GRAMMAR_C): Parser/pgen.stamp
|
||||||
|
Parser/pgen.stamp: $(PGEN) $(GRAMMAR_INPUT)
|
||||||
|
-@$(INSTALL) -d Include
|
||||||
|
- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
||||||
|
+ $(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
||||||
|
-touch Parser/pgen.stamp
|
||||||
|
|
||||||
|
$(PGEN): $(PGENOBJS)
|
||||||
|
@@ -926,25 +927,25 @@ libinstall: build_all $(srcdir)/Lib/$(PL
|
||||||
|
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|lib2to3/tests/data' \
|
||||||
|
$(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|lib2to3/tests/data' \
|
||||||
|
$(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
|
||||||
|
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||||
|
- ./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
|
||||||
|
+ $(HOSTPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
|
||||||
|
|
||||||
|
# Create the PLATDIR source directory, if one wasn't distributed..
|
||||||
|
$(srcdir)/Lib/$(PLATDIR):
|
||||||
|
@@ -1049,7 +1050,7 @@ libainstall: all python-config
|
||||||
|
# Install the dynamically loadable modules
|
||||||
|
# This goes into $(exec_prefix)
|
||||||
|
sharedinstall: sharedmods
|
||||||
|
- $(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.7.2/setup.py
|
||||||
|
===================================================================
|
||||||
|
--- Python-2.7.2.orig/setup.py
|
||||||
|
+++ Python-2.7.2/setup.py
|
||||||
|
@@ -313,6 +313,7 @@ class PyBuildExt(build_ext):
|
||||||
|
self.failed.append(ext.name)
|
||||||
|
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
|
||||||
|
@@ -369,8 +370,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')
|
||||||
|
self.add_multiarch_paths()
|
||||||
|
|
||||||
|
# Add paths specified in the environment variables LDFLAGS and
|
||||||
|
@@ -475,6 +476,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" ) ]
|
||||||
|
+ lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep)
|
||||||
|
#
|
||||||
|
# The following modules are all pretty straightforward, and compile
|
||||||
|
# on pretty much any POSIXish platform.
|
||||||
|
@@ -677,8 +681,8 @@ class PyBuildExt(build_ext):
|
||||||
|
elif curses_library:
|
||||||
|
readline_libs.append(curses_library)
|
||||||
|
elif self.compiler.find_library_file(lib_dirs +
|
||||||
|
- ['/usr/lib/termcap'],
|
||||||
|
- 'termcap'):
|
||||||
|
+ ['/usr/lib/termcap'],
|
||||||
|
+ 'termcap'):
|
||||||
|
readline_libs.append('termcap')
|
||||||
|
exts.append( Extension('readline', ['readline.c'],
|
||||||
|
library_dirs=['/usr/lib/termcap'],
|
9
recipes-devtools/python/python_2.7.3.bbappend
Normal file
9
recipes-devtools/python/python_2.7.3.bbappend
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}"
|
||||||
|
FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:"
|
||||||
|
|
||||||
|
DEPENDS += " ncurses"
|
||||||
|
|
||||||
|
do_compile_prepend() {
|
||||||
|
export LIBRARY_PATH=${STAGING_DIR_TARGET}/lib
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user