diff options
Diffstat (limited to 'package')
-rw-r--r-- | package/python/python-002-cross-compile.patch | 32 | ||||
-rw-r--r-- | package/python/python-010-disable_modules_and_ssl.patch | 6 | ||||
-rw-r--r-- | package/python/python.mk | 51 |
3 files changed, 46 insertions, 43 deletions
diff --git a/package/python/python-002-cross-compile.patch b/package/python/python-002-cross-compile.patch index e856576d9..207335a5e 100644 --- a/package/python/python-002-cross-compile.patch +++ b/package/python/python-002-cross-compile.patch @@ -1,26 +1,18 @@ -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): +--- Python-2.4.2-001/setup.py 2007-01-23 16:18:37.000000000 +0100 ++++ Python-2.4.2/setup.py 2007-01-23 16:26:43.000000000 +0100 +@@ -239,7 +239,18 @@ return sys.platform def detect_modules(self): - # Ensure that /usr/local is always used ++ try: ++ 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'] + for dir in modules_include_dirs: + add_dir_to_list(self.compiler.include_dirs, dir) + for dir in modules_lib_dirs: @@ -28,7 +20,7 @@ diff -rduNp Python-2.4.2-001/setup.py Python-2.4.2/setup.py # Add paths to popular package managers on OS X/darwin if sys.platform == "darwin": -@@ -258,11 +269,8 @@ class PyBuildExt(build_ext): +@@ -258,11 +269,8 @@ # 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. diff --git a/package/python/python-010-disable_modules_and_ssl.patch b/package/python/python-010-disable_modules_and_ssl.patch index c7d41184e..a690eae38 100644 --- a/package/python/python-010-disable_modules_and_ssl.patch +++ b/package/python/python-010-disable_modules_and_ssl.patch @@ -22,9 +22,9 @@ diff -rduNp Python-2.4.2-002/setup.py Python-2.4.2/setup.py def detect_modules(self): + global disable_ssl - for dir in modules_include_dirs: - add_dir_to_list(self.compiler.include_dirs, dir) - for dir in modules_lib_dirs: + try: + modules_include_dirs = os.environ["PYTHON_MODULES_INCLUDE"].split() + except KeyError: @@ -468,7 +476,8 @@ class PyBuildExt(build_ext): ] ) diff --git a/package/python/python.mk b/package/python/python.mk index 1c6c25f79..01879cc0b 100644 --- a/package/python/python.mk +++ b/package/python/python.mk @@ -11,6 +11,16 @@ PYTHON_CAT:=$(BZCAT) PYTHON_BINARY:=python PYTHON_TARGET_BINARY:=usr/bin/python +#ifndef BR2_SUPPORT_IPv6 +#PYTHON_DISABLE_IPv6=--disable-ipv6 +#else +#PYTHON_DISABLE_IPv6=--enable-ipv6 +#endif + +# these could use checks for some BR2_PACKAGE_foo,y +BR2_PYTHON_DISABLED_MODULES=readline pyexpat dbm gdbm bsddb \ + _curses _curses_panel _tkinter nis zipfile + $(DL_DIR)/$(PYTHON_SOURCE): $(WGET) -P $(DL_DIR) $(PYTHON_SITE)/$(PYTHON_SOURCE) @@ -18,29 +28,29 @@ python-source: $(DL_DIR)/$(PYTHON_SOURCE) $(PYTHON_DIR)/.unpacked: $(DL_DIR)/$(PYTHON_SOURCE) $(PYTHON_CAT) $(DL_DIR)/$(PYTHON_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - touch $(PYTHON_DIR)/.unpacked + touch $@ $(PYTHON_DIR)/.patched: $(PYTHON_DIR)/.unpacked toolchain/patch-kernel.sh $(PYTHON_DIR) package/python/ python\*.patch - touch $(PYTHON_DIR)/.patched + touch $@ $(PYTHON_DIR)/.hostpython: $(PYTHON_DIR)/.patched (cd $(PYTHON_DIR); rm -rf config.cache; \ - OPT="-O1" \ + CC="$(HOSTCC)" OPT="-O2" \ ./configure \ --with-cxx=no \ - $(DISABLE_NLS); \ - $(MAKE) python Parser/pygen; \ - mv python hostpython; \ - mv Parser/pgen Parser/hostpgen; \ + $(DISABLE_NLS) && \ + $(MAKE) python Parser/pgen && \ + mv python hostpython && \ + mv Parser/pgen Parser/hostpgen && \ $(MAKE) distclean \ - ); - touch $(PYTHON_DIR)/.hostpython + ) && \ + touch $@ $(PYTHON_DIR)/.configured: $(PYTHON_DIR)/.hostpython (cd $(PYTHON_DIR); rm -rf config.cache; \ $(TARGET_CONFIGURE_OPTS) \ - OPT="$(TARGET_OPTIMIZATION)" \ + OPT="$(TARGET_CFLAGS)" \ ./configure \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ @@ -48,16 +58,17 @@ $(PYTHON_DIR)/.configured: $(PYTHON_DIR)/.hostpython --prefix=/usr \ --sysconfdir=/etc \ --with-cxx=no \ + $(PYTHON_DISABLE_IPv6) \ $(DISABLE_NLS) \ ); - touch $(PYTHON_DIR)/.configured + touch $@ $(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" \ + PYTHON_DISABLE_MODULES="$(BR2_PYTHON_DISABLED_MODULES)" \ HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen $(TARGET_DIR)/$(PYTHON_TARGET_BINARY): $(PYTHON_DIR)/$(PYTHON_BINARY) @@ -67,13 +78,13 @@ $(TARGET_DIR)/$(PYTHON_TARGET_BINARY): $(PYTHON_DIR)/$(PYTHON_BINARY) 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' -exec rm {} \; - -find $(TARGET_DIR)/usr/lib/ -name '*.pyo' -exec rm {} \; + PYTHON_DISABLE_MODULES="$(BR2_PYTHON_DISABLED_MODULES)" \ + 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' -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 @@ -82,7 +93,7 @@ python: uclibc $(TARGET_DIR)/$(PYTHON_TARGET_BINARY) python-clean: -$(MAKE) -C $(PYTHON_DIR) distclean - rm $(PYTHON_DIR)/.configured + rm $(PYTHON_DIR)/.configured $(TARGET_DIR)/$(PYTHON_TARGET_BINARY) python-dirclean: rm -rf $(PYTHON_DIR) |