diff --git a/lang/python/Makefile b/lang/python/Makefile index 58b11a196..9e6282f08 100644 --- a/lang/python/Makefile +++ b/lang/python/Makefile @@ -53,7 +53,7 @@ endef define Package/python $(call Package/python/Default) - DEPENDS:=+libpthread +zlib +libffi + DEPENDS:=+libpthread +zlib +libffi +libopenssl +libcrypto endef define Package/python/description @@ -239,14 +239,11 @@ define PyPackage/python-full/filespec -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/grp.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/itertools.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/math.so --|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_md5.so +-|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_hashlib.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/operator.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_random.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/readline.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/select.so --|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sha.so --|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sha256.so --|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sha512.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_socket.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/strop.so -|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_struct.so @@ -328,13 +325,10 @@ define PyPackage/python/filespec +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/grp.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/itertools.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/math.so -+|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_md5.so ++|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_hashlib.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/operator.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_random.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/select.so -+|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sha.so -+|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sha256.so -+|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_sha512.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_socket.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/strop.so +|/usr/lib/python$(PYTHON_VERSION)/lib-dynload/_struct.so diff --git a/lang/python/files/config.site b/lang/python/files/config.site index 8f7a3f981..cfa56b89b 100644 --- a/lang/python/files/config.site +++ b/lang/python/files/config.site @@ -8,4 +8,5 @@ ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=no +ac_cv_buggy_getaddrinfo=no diff --git a/lang/python/files/python-package.mk b/lang/python/files/python-package.mk index 0196beeb6..dc30494fe 100644 --- a/lang/python/files/python-package.mk +++ b/lang/python/files/python-package.mk @@ -32,10 +32,15 @@ define PyPackage $(call shexport,PyPackage/$(1)/filespec) define Package/$(1)/install + find $(PKG_INSTALL_DIR) -name "*\.pyc" -o -name "*\.pyo" | xargs rm -f @$(SH_FUNC) getvar $$(call shvar,PyPackage/$(1)/filespec) | ( \ IFS='|'; \ while read fop fspec fperm; do \ if [ "$$$$$$$$fop" = "+" ]; then \ + if [ ! -e "$(PKG_INSTALL_DIR)$$$$$$$$fspec" ]; then \ + echo "File not found '$(PKG_INSTALL_DIR)$$$$$$$$fspec'"; \ + exit 1; \ + fi; \ dpath=`dirname "$$$$$$$$fspec"`; \ if [ -n "$$$$$$$$fperm" ]; then \ dperm="-m$$$$$$$$fperm"; \ diff --git a/lang/python/patches/120-do-not-add-include-dirs-when-cross-compiling.patch b/lang/python/patches/120-do-not-add-include-dirs-when-cross-compiling.patch new file mode 100644 index 000000000..fb2fe8a77 --- /dev/null +++ b/lang/python/patches/120-do-not-add-include-dirs-when-cross-compiling.patch @@ -0,0 +1,14 @@ +diff --git a/setup.py b/setup.py +index cbdeaf3..5154412 100644 +--- a/setup.py ++++ b/setup.py +@@ -480,7 +480,8 @@ class PyBuildExt(build_ext): + add_dir_to_list(dir_list, directory) + + if os.path.normpath(sys.prefix) != '/usr' \ +- and not sysconfig.get_config_var('PYTHONFRAMEWORK'): ++ and not sysconfig.get_config_var('PYTHONFRAMEWORK') \ ++ and not cross_compiling: + # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework + # (PYTHONFRAMEWORK is set) to avoid # linking problems when + # building a framework with different architectures than diff --git a/lang/python/patches/130-do-not-run-distutils-tests.patch b/lang/python/patches/130-do-not-run-distutils-tests.patch new file mode 100644 index 000000000..4fdd2bb4b --- /dev/null +++ b/lang/python/patches/130-do-not-run-distutils-tests.patch @@ -0,0 +1,37 @@ +diff --git a/Makefile.pre.in b/Makefile.pre.in +index bcd83bf..c4dcc6d 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1005,32 +1005,6 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c + done; \ + done + $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt +- if test -d $(DESTDIR)$(LIBDEST)/distutils/tests; then \ +- $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ +- $(DESTDIR)$(LIBDEST)/distutils/tests ; \ +- fi +- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- $(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ +- -d $(LIBDEST) -f \ +- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ +- $(DESTDIR)$(LIBDEST) +- PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- $(PYTHON_FOR_BUILD) -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) \ +- $(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \ +- -d $(LIBDEST)/site-packages -f \ +- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages +- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- $(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \ +- -d $(LIBDEST)/site-packages -f \ +- -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages +- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt +- -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt + + # Create the PLATDIR source directory, if one wasn't distributed.. + $(srcdir)/Lib/$(PLATDIR):