include $(TOPDIR)/rules.mk
PKG_NAME:=python
-PKG_VERSION:=2.7.3rc2
-PKG_RELEASE:=1
+
+PY_VERSION:=2.7.3
+PY_RC:=rc2
+PKG_VERSION:=$(PY_VERSION)$(PY_RC)
+PKG_RELEASE:=2
PKG_SOURCE:=Python-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://www.python.org/ftp/python/$(PKG_VERSION)/
+PKG_SOURCE_URL:=http://www.python.org/ftp/python/$(PY_VERSION)/
PKG_MD5SUM:=67059e1bcaf19e19394d16b80637f75f
PKG_INSTALL:=1
DEPENDS+=+python-mini +libgdbm
endef
+define Package/python-readline
+$(call Package/python/Default)
+ TITLE:=Python support for readline
+ DEPENDS+=+python-mini +libreadline +libncurses @BROKEN
+endef
+
MAKE_FLAGS:=\
$(TARGET_CONFIGURE_OPTS) \
DESTDIR="$(PKG_INSTALL_DIR)" \
--with-threads \
--with-system-ffi="$(STAGING_DIR)/usr" \
$(ENABLE_IPV6) \
- ac_cv_lib_readline_readline=no \
ac_cv_have_chflags=no \
ac_cv_have_lchflags=no \
ac_cv_py_format_size_t=no \
+|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/gdbm.so
endef
+define PyPackage/python-readline/filespec
++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/readline.so
+endef
+
define Host/Configure
-$(MAKE) -C $(HOST_BUILD_DIR) distclean
(cd $(HOST_BUILD_DIR); autoreconf --force --install || exit 0)
$(eval $(call PyPackage,python-shutil))
$(eval $(call PyPackage,python-sqlite3))
$(eval $(call PyPackage,python-gdbm))
+$(eval $(call PyPackage,python-readline))
$(eval $(call BuildPackage,python))
$(eval $(call BuildPackage,python-mini))
$(eval $(call BuildPackage,python-shutil))
$(eval $(call BuildPackage,python-sqlite3))
$(eval $(call BuildPackage,python-gdbm))
+$(eval $(call BuildPackage,python-readline))
--- /dev/null
+--- a/setup.py
++++ b/setup.py
+@@ -573,32 +573,7 @@ class PyBuildExt(build_ext):
+ # readline
+ do_readline = self.compiler.find_library_file(lib_dirs, 'readline')
+ readline_termcap_library = ""
+- curses_library = ""
+- # Determine if readline is already linked against curses or tinfo.
+- if do_readline and find_executable('ldd'):
+- fp = os.popen("ldd %s" % do_readline)
+- ldd_output = fp.readlines()
+- ret = fp.close()
+- if ret is None or ret >> 8 == 0:
+- for ln in ldd_output:
+- if 'curses' in ln:
+- readline_termcap_library = re.sub(
+- r'.*lib(n?cursesw?)\.so.*', r'\1', ln
+- ).rstrip()
+- break
+- if 'tinfo' in ln: # termcap interface split out from ncurses
+- readline_termcap_library = 'tinfo'
+- break
+- # Issue 7384: If readline is already linked against curses,
+- # use the same library for the readline and curses modules.
+- if 'curses' in readline_termcap_library:
+- curses_library = readline_termcap_library
+- elif self.compiler.find_library_file(lib_dirs, 'ncursesw'):
+- curses_library = 'ncursesw'
+- elif self.compiler.find_library_file(lib_dirs, 'ncurses'):
+- curses_library = 'ncurses'
+- elif self.compiler.find_library_file(lib_dirs, 'curses'):
+- curses_library = 'curses'
++ curses_library = "ncurses"
+
+ if platform == 'darwin':
+ os_release = int(os.uname()[2].split('.')[0])
--- /dev/null
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -410,7 +410,7 @@ platform: $(BUILDPYTHON)
+ # Build the shared modules
+ sharedmods: $(BUILDPYTHON)
+ @case $$MAKEFLAGS in \
+- *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \
++ *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \
+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \
+ esac
+