From 6440b9fd175c06263b5da2616e228e39e424cccd Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Mon, 22 Jan 2007 18:48:48 +0000 Subject: [PATCH] - fixup include- and libdirs. Closes #841 - rediff patches against 2.4.2 --- ...e.patch => python-001-cross-compile.patch} | 30 ++++++------- package/python/python-002-cross-compile.patch | 44 +++++++++++++++++++ ... python-010-disable_modules_and_ssl.patch} | 17 +++---- ...=> python-020-gentoo_py_dontcompile.patch} | 7 +-- package/python/python.mk | 7 ++- 5 files changed, 78 insertions(+), 27 deletions(-) rename package/python/{python-cross-compile.patch => python-001-cross-compile.patch} (81%) create mode 100644 package/python/python-002-cross-compile.patch rename package/python/{python-disable_modules_and_ssl.patch => python-010-disable_modules_and_ssl.patch} (65%) rename package/python/{python-gentoo_py_dontcompile.patch => python-020-gentoo_py_dontcompile.patch} (58%) diff --git a/package/python/python-cross-compile.patch b/package/python/python-001-cross-compile.patch similarity index 81% rename from package/python/python-cross-compile.patch rename to package/python/python-001-cross-compile.patch index 6a78648008..96e52a6ede 100644 --- a/package/python/python-cross-compile.patch +++ b/package/python/python-001-cross-compile.patch @@ -1,8 +1,7 @@ -Ripped from OpenEmbedded - ---- Python-2.4c1/Makefile.pre.in -+++ Python-2.4c1/Makefile.pre.in -@@ -162,6 +162,7 @@ +diff -rduNp Python-2.4.2.orig/Makefile.pre.in Python-2.4.2/Makefile.pre.in +--- Python-2.4.2.orig/Makefile.pre.in 2005-03-29 01:23:01.000000000 +0200 ++++ Python-2.4.2/Makefile.pre.in 2007-01-22 19:37:08.000000000 +0100 +@@ -162,6 +162,7 @@ UNICODE_OBJS= @UNICODE_OBJS@ PYTHON= python$(EXE) BUILDPYTHON= python$(BUILDEXE) @@ -10,7 +9,7 @@ Ripped from OpenEmbedded # === Definitions added by makesetup === -@@ -188,7 +189,7 @@ +@@ -188,7 +189,7 @@ GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar ########################################################################## # Parser PGEN= Parser/pgen$(EXE) @@ -19,7 +18,7 @@ Ripped from OpenEmbedded POBJS= \ Parser/acceler.o \ Parser/grammar1.o \ -@@ -320,8 +321,8 @@ +@@ -320,8 +321,8 @@ platform: $(BUILDPYTHON) # Build the shared modules sharedmods: $(BUILDPYTHON) case $$MAKEFLAGS in \ @@ -30,7 +29,7 @@ Ripped from OpenEmbedded esac # buildno should really depend on something like LIBRARY_SRC -@@ -442,7 +443,7 @@ +@@ -442,7 +443,7 @@ Modules/ccpython.o: $(srcdir)/Modules/cc $(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT) @@ -39,7 +38,7 @@ Ripped from OpenEmbedded $(PGEN): $(PGENOBJS) $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN) -@@ -718,19 +719,19 @@ +@@ -719,19 +720,19 @@ libinstall: $(BUILDPYTHON) $(srcdir)/Lib done $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ @@ -63,7 +62,7 @@ Ripped from OpenEmbedded -d $(LIBDEST)/site-packages -f \ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages -@@ -825,7 +826,7 @@ +@@ -826,7 +827,7 @@ libainstall: all # Install the dynamically loadable modules # This goes into $(exec_prefix) sharedinstall: @@ -72,9 +71,10 @@ Ripped from OpenEmbedded --prefix=$(prefix) \ --install-scripts=$(BINDIR) \ --install-platlib=$(DESTSHARED) \ ---- Python-2.4c1/setup.py -+++ Python-2.4c1/setup.py -@@ -206,6 +206,7 @@ +diff -rduNp Python-2.4.2.orig/setup.py Python-2.4.2/setup.py +--- Python-2.4.2.orig/setup.py 2005-03-09 23:27:24.000000000 +0100 ++++ Python-2.4.2/setup.py 2007-01-22 19:37:08.000000000 +0100 +@@ -204,6 +204,7 @@ class PyBuildExt(build_ext): try: imp.load_dynamic(ext.name, ext_filename) except ImportError, why: @@ -82,7 +82,7 @@ Ripped from OpenEmbedded self.announce('*** WARNING: renaming "%s" since importing it' ' failed: %s' % (ext.name, why), level=3) assert not self.inplace -@@ -239,8 +240,6 @@ +@@ -239,8 +240,6 @@ class PyBuildExt(build_ext): def detect_modules(self): # Ensure that /usr/local is always used @@ -91,7 +91,7 @@ Ripped from OpenEmbedded # Add paths to popular package managers on OS X/darwin if sys.platform == "darwin": -@@ -260,12 +260,6 @@ +@@ -251,12 +250,6 @@ class PyBuildExt(build_ext): add_dir_to_list(self.compiler.library_dirs, '/opt/local/lib') add_dir_to_list(self.compiler.include_dirs, '/opt/local/include') diff --git a/package/python/python-002-cross-compile.patch b/package/python/python-002-cross-compile.patch new file mode 100644 index 0000000000..e856576d9d --- /dev/null +++ b/package/python/python-002-cross-compile.patch @@ -0,0 +1,44 @@ +diff -rduNp Python-2.4.2-001/setup.py Python-2.4.2/setup.py +--- Python-2.4.2-001/setup.py 2007-01-22 19:37:08.000000000 +0100 ++++ Python-2.4.2/setup.py 2007-01-22 19:41:47.000000000 +0100 +@@ -20,6 +20,14 @@ disabled_module_list = [] + def add_dir_to_list(dirlist, dir): + """Add the directory 'dir' to the list 'dirlist' (at the front) if + 1) 'dir' is not already in 'dirlist' ++ modules_include_dirs = os.environ["PYTHON_MODULES_INCLUDE"].split() ++except KeyError: ++ modules_include_dirs = ['/usr/include'] ++try: ++ modules_lib_dirs = os.environ["PYTHON_MODULES_LIB"].split() ++except KeyError: ++ modules_lib_dirs = ['/usr/lib'] ++try: + 2) 'dir' actually exists, and is a directory.""" + if dir is not None and os.path.isdir(dir) and dir not in dirlist: + dirlist.insert(0, dir) +@@ -239,7 +247,10 @@ class PyBuildExt(build_ext): + return sys.platform + + def detect_modules(self): +- # Ensure that /usr/local is always used ++ for dir in modules_include_dirs: ++ add_dir_to_list(self.compiler.include_dirs, dir) ++ for dir in modules_lib_dirs: ++ add_dir_to_list(self.compiler.library_dirs, dir) + + # Add paths to popular package managers on OS X/darwin + if sys.platform == "darwin": +@@ -258,11 +269,8 @@ class PyBuildExt(build_ext): + # lib_dirs and inc_dirs are used to search for files; + # if a file is found in one of those directories, it can + # be assumed that no additional -I,-L directives are needed. +- lib_dirs = self.compiler.library_dirs + [ +- '/lib64', '/usr/lib64', +- '/lib', '/usr/lib', +- ] +- inc_dirs = self.compiler.include_dirs + ['/usr/include'] ++ lib_dirs = self.compiler.library_dirs ++ inc_dirs = self.compiler.include_dirs + exts = [] + + platform = self.get_platform() diff --git a/package/python/python-disable_modules_and_ssl.patch b/package/python/python-010-disable_modules_and_ssl.patch similarity index 65% rename from package/python/python-disable_modules_and_ssl.patch rename to package/python/python-010-disable_modules_and_ssl.patch index 073296c5f9..c7d41184eb 100644 --- a/package/python/python-disable_modules_and_ssl.patch +++ b/package/python/python-010-disable_modules_and_ssl.patch @@ -1,6 +1,7 @@ ---- python.old/setup.py 2003-11-01 19:23:48.495647848 +0000 -+++ python/setup.py 2003-11-01 19:24:16.044459792 +0000 -@@ -15,7 +15,14 @@ +diff -rduNp Python-2.4.2-002/setup.py Python-2.4.2/setup.py +--- Python-2.4.2-002/setup.py 2007-01-22 19:41:47.000000000 +0100 ++++ Python-2.4.2/setup.py 2007-01-22 19:47:25.000000000 +0100 +@@ -15,7 +15,14 @@ from distutils.command.install import in from distutils.command.install_lib import install_lib # This global variable is used to hold the list of modules to be disabled. @@ -16,15 +17,15 @@ def add_dir_to_list(dirlist, dir): """Add the directory 'dir' to the list 'dirlist' (at the front) if -@@ -240,6 +247,7 @@ +@@ -247,6 +254,7 @@ class PyBuildExt(build_ext): return sys.platform def detect_modules(self): + global disable_ssl - # 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') -@@ -451,7 +459,8 @@ + for dir in modules_include_dirs: + add_dir_to_list(self.compiler.include_dirs, dir) + for dir in modules_lib_dirs: +@@ -468,7 +476,8 @@ class PyBuildExt(build_ext): ] ) if (ssl_incs is not None and diff --git a/package/python/python-gentoo_py_dontcompile.patch b/package/python/python-020-gentoo_py_dontcompile.patch similarity index 58% rename from package/python/python-gentoo_py_dontcompile.patch rename to package/python/python-020-gentoo_py_dontcompile.patch index 22ecd0ef72..6e634bef4c 100644 --- a/package/python/python-gentoo_py_dontcompile.patch +++ b/package/python/python-020-gentoo_py_dontcompile.patch @@ -1,6 +1,7 @@ ---- Python-2.3.2/Python/import.c 2003-10-08 12:29:03.166032656 +0100 -+++ import.c 2003-10-08 12:32:57.423420120 +0100 -@@ -808,8 +808,12 @@ +diff -rduNp Python-2.4.2-010/Python/import.c Python-2.4.2/Python/import.c +--- Python-2.4.2-010/Python/import.c 2005-09-14 20:15:03.000000000 +0200 ++++ Python-2.4.2/Python/import.c 2007-01-22 19:49:18.000000000 +0100 +@@ -822,8 +822,12 @@ static void write_compiled_module(PyCodeObject *co, char *cpathname, long mtime) { FILE *fp; diff --git a/package/python/python.mk b/package/python/python.mk index 33646d9b98..1c6c25f795 100644 --- a/package/python/python.mk +++ b/package/python/python.mk @@ -55,6 +55,8 @@ $(PYTHON_DIR)/.configured: $(PYTHON_DIR)/.hostpython $(PYTHON_DIR)/$(PYTHON_BINARY): $(PYTHON_DIR)/.configured export PYTHON_DISABLE_SSL=1 $(MAKE) CC=$(TARGET_CC) -C $(PYTHON_DIR) DESTDIR=$(TARGET_DIR) \ + PYTHON_MODULES_INCLUDE=$(STAGING_DIR)/include \ + PYTHON_MODULES_LIB=$(STAGING_DIR)/lib \ PYTHON_DISABLE_MODULES="readline pyexpat dbm gdbm bsddb _curses _curses_panel _tkinter" \ HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen @@ -63,12 +65,15 @@ $(TARGET_DIR)/$(PYTHON_TARGET_BINARY): $(PYTHON_DIR)/$(PYTHON_BINARY) LD_LIBRARY_PATH=$(STAGING_DIR)/lib $(MAKE) CC=$(TARGET_CC) -C $(PYTHON_DIR) install \ DESTDIR=$(TARGET_DIR) CROSS_COMPILE=yes \ + PYTHON_MODULES_INCLUDE=$(STAGING_DIR)/include \ + PYTHON_MODULES_LIB=$(STAGING_DIR)/lib \ PYTHON_DISABLE_MODULES="readline pyexpat dbm gdbm bsddb _curses _curses_panel _tkinter" \ HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen rm $(TARGET_DIR)/usr/bin/python?.? rm $(TARGET_DIR)/usr/bin/idle rm $(TARGET_DIR)/usr/bin/pydoc - find $(TARGET_DIR)/usr/lib/ -name '*.pyc' -o -name '*.pyo' -exec rm {} \; + -find $(TARGET_DIR)/usr/lib/ -name '*.pyc' -exec rm {} \; + -find $(TARGET_DIR)/usr/lib/ -name '*.pyo' -exec rm {} \; rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc \ $(TARGET_DIR)/usr/lib/python*/test -- 2.30.2