From 1e8a2130a5b5ce6697956379e17bdeee435286ae Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 29 Oct 2013 09:17:25 +0100 Subject: update python2 and use new host infrastructure --- package/python2/Makefile | 155 +++++++++++--------- package/python2/patches/patch-Makefile_pre_in | 198 ++++++-------------------- package/python2/patches/patch-configure | 26 ---- package/python2/patches/patch-setup_py | 157 ++++++++++---------- package/python3/Makefile | 3 +- 5 files changed, 207 insertions(+), 332 deletions(-) delete mode 100644 package/python2/patches/patch-configure (limited to 'package') diff --git a/package/python2/Makefile b/package/python2/Makefile index b97266468..fdf39f45f 100644 --- a/package/python2/Makefile +++ b/package/python2/Makefile @@ -4,13 +4,13 @@ include ${TOPDIR}/rules.mk PKG_NAME:= python2 -PKG_VERSION:= 2.7.1 -PKG_RELEASE:= 3 -PKG_MD5SUM:= 15ed56733655e3fab785e49a7278d2fb +PKG_VERSION:= 2.7.5 +PKG_RELEASE:= 1 +PKG_MD5SUM:= b4f01a1d0ba0b46b05c73b2ac909b1df PKG_DESCR:= Python scripting language (Version 2) PKG_SECTION:= lang -PKG_BUILDDEP:= zlib libffi openssl readline bzip2 -PKG_DEPENDS:= libpthread zlib libffi libopenssl libgcc +PKG_BUILDDEP:= libffi python2-host +PKG_DEPENDS:= libpthread libffi libgcc PKG_URL:= http://www.python.org/ PKG_SITES:= http://www.python.org/ftp/python/${PKG_VERSION}/ PKG_OPTS:= dev noscripts @@ -20,59 +20,96 @@ PKG_HOST_DEPENDS:= !netbsd !openbsd DISTFILES= Python-${PKG_VERSION}.tgz WRKDIST= ${WRKDIR}/Python-${PKG_VERSION} -PKG_SUBPKGS:= PYTHON2 PYTHON2_READLINE PYTHON2_BZIP2 -PKGSS_PYTHON2_READLINE:=libreadline -PKGSS_PYTHON2_BZIP2:= bzip2 +PKG_FLAVOURS_PYTHON2:= MOD_ZLIB MOD_BZ2 MOD_EXPAT MOD_SQLITE MOD_GDBM +PKG_FLAVOURS_PYTHON2+= MOD_NCURSES MOD_SSL MOD_READLINE + +PKGFD_MOD_ZLIB:= ZLIB support +PKGFB_MOD_ZLIB:= zlib +PKGFS_MOD_ZLIB:= zlib +PKGFD_MOD_BZ2:= BZIP2 support +PKGFB_MOD_BZ2:= bzip2 +PKGFS_MOD_BZ2:= libbz2 +PKGFD_MOD_EXPAT:= XML support +PKGFB_MOD_EXPAT:= expat +PKGFS_MOD_EXPAT:= libexpat +PKGFD_MOD_SQLITE:= SQLITE support +PKGFB_MOD_SQLITE:= sqlite +PKGFS_MOD_SQLITE:= libsqlite +PKGFD_MOD_GDBM:= GDBM support +PKGFB_MOD_GDBM:= gdbm +PKGFS_MOD_GDBM:= libgdbm +PKGFD_MOD_NCURSES:= NCURSES support +PKGFB_MOD_NCURSES:= ncurses +PKGFS_MOD_NCURSES:= libncurses +PKGFD_MOD_READLINE:= READLINE support +PKGFB_MOD_READLINE:= readline +PKGFS_MOD_READLINE:= libreadline +PKGFD_MOD_SSL:= OpenSSL support +PKGFB_MOD_SSL:= openssl +PKGFS_MOD_SSL:= libopenssl +include ${TOPDIR}/mk/host.mk include ${TOPDIR}/mk/package.mk +$(eval $(call HOST_template,PYTHON2,python2,${PKG_VERSION}-${PKG_RELEASE})) $(eval $(call PKG_template,PYTHON2,python2,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) -$(eval $(call PKG_template,PYTHON2_BZIP2,python2-bzip2,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_PYTHON2_BZIP2},${PKG_DESCR},${PKG_SECTION})) -$(eval $(call PKG_template,PYTHON2_READLINE,python2-readline,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_PYTHON2_READLINE},${PKG_DESCR},${PKG_SECTION})) - -ifeq ($(ADK_HOST_CYGWIN),y) -EXE:= .exe -endif - -TARGET_CFLAGS+= -fPIC -TARGET_LDFLAGS+= -L. -MAKE_ENV+= OPT="$(TARGET_CFLAGS)" \ - RANLIB="${TARGET_CROSS}ranlib" \ - HOSTPYTHON=./hostpython \ - HOSTPGEN=./Parser/hostpgen -CONFIGURE_ENV+= OPT="$(TARGET_CFLAGS)" \ - ac_cv_have_long_long_format=yes + +define PKG_mod_template + +INSTALL_MODS_$${ADK_PACKAGE_${1}}+= ${2}-install + +${2}-install: + echo foo $(1) + ${INSTALL_DIR} $$(IDIR_$(1))/usr/lib/python2.7/lib-dynload + for m in ${2}; do \ + ${INSTALL_DATA} $(WRKINST)/usr/lib/python2.7/lib-dynload/$$$${m}*.so $$(IDIR_$(1))/usr/lib/python2.7/lib-dynload ;\ + done +endef + +$(eval $(call PKG_template,PYTHON2_MOD_ZLIB,python2-mod-zlib,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_ZLIB},${PKGFD_MOD_ZLIB},${PKG_SECTION})) +$(eval $(call PKG_template,PYTHON2_MOD_BZ2,python2-mod-bz2,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_BZ2},${PKGFD_MOD_BZ2},${PKG_SECTION})) +$(eval $(call PKG_template,PYTHON2_MOD_EXPAT,python2-mod-expat,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_EXPAT},${PKGFD_MOD_EXPAT},${PKG_SECTION})) +$(eval $(call PKG_template,PYTHON2_MOD_SQLITE,python2-mod-sqlite,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_SQLITE},${PKGFD_MOD_SQLITE},${PKG_SECTION})) +$(eval $(call PKG_template,PYTHON2_MOD_GDBM,python2-mod-gdbm,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_GDBM},${PKGFD_MOD_GDBM},${PKG_SECTION})) +$(eval $(call PKG_template,PYTHON2_MOD_NCURSES,python2-mod-ncurses,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_NCURSES},${PKGFD_MOD_NCURSES},${PKG_SECTION})) +$(eval $(call PKG_template,PYTHON2_MOD_SSL,python2-mod-ssl,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_SSL},${PKGFD_MOD_SSL},${PKG_SECTION})) +$(eval $(call PKG_template,PYTHON2_MOD_READLINE,python2-mod-readline,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_READLINE},${PKGFD_MOD_READLINE},${PKG_SECTION})) + +$(eval $(call PKG_mod_template,PYTHON2_MOD_ZLIB,zlib)) +$(eval $(call PKG_mod_template,PYTHON2_MOD_BZ2,bz2)) +$(eval $(call PKG_mod_template,PYTHON2_MOD_EXPAT,pyexpat)) +$(eval $(call PKG_mod_template,PYTHON2_MOD_SQLITE,_sqlite)) +$(eval $(call PKG_mod_template,PYTHON2_MOD_GDBM,gdbm)) +$(eval $(call PKG_mod_template,PYTHON2_MOD_NCURSES,_curses)) +$(eval $(call PKG_mod_template,PYTHON2_MOD_SSL,_ssl)) +$(eval $(call PKG_mod_template,PYTHON2_MOD_READLINE,readline)) + +MAKE_ENV+= HOSTPGEN=$(STAGING_HOST_DIR)/usr/bin/pgen +CONFIGURE_ENV+= ac_cv_have_long_long_format=yes \ + ac_cv_file__dev_ptmx=yes \ + ac_cv_file__dev_ptc=no CONFIGURE_ARGS:= --with-threads \ + --disable-ipv6 \ --disable-toolbox-glue \ --with-system-ffi \ --without-cxx-main -post-extract: - $(CP) ${WRKBUILD}/setup.py ${WRKBUILD}/setup.py.sav - $(CP) ./files/setup.py ${WRKBUILD}/setup.py - $(CP) ./files/posixmodule.c ${WRKBUILD}/Modules/posixmodule.c - $(CP) ./files/python-config.in ${WRKBUILD}/Misc/python-config.in - $(CP) ./files/build_scripts.py ${WRKBUILD}/Lib/distutils/command/build_scripts.py - $(CP) ./files/sysconfig.py ${WRKBUILD}/Lib/distutils/sysconfig.py - (cd ${WRKBUILD}; rm -rf config.{cache,status} ; \ - OPT="$(CFLAGS_FOR_BUILD)" \ - ./configure --without-cxx-main --with-threads \ - --prefix=$(STAGING_HOST_DIR)/usr \ - ); - $(MAKE) -C ${WRKBUILD} python$(EXE) Parser/pgen$(EXE) - $(MAKE) -C ${WRKBUILD} install - ${CP} ${WRKBUILD}/Parser/pgen ${STAGING_HOST_DIR}/usr/bin/pgen - ${CP} ${WRKBUILD}/python ${STAGING_HOST_DIR}/usr/bin/hostpython - ${CP} ${WRKBUILD}/Parser/pgen ${WRKBUILD}/Parser/hostpgen - ${CP} ${WRKBUILD}/python ${WRKBUILD}/hostpython - $(MAKE) -C ${WRKBUILD} distclean - $(CP) ${WRKBUILD}/setup.py.sav ${WRKBUILD}/setup.py - -pre-configure: - $(SED) "s#@@CPU_ARCH@@#$(CPU_ARCH)#" ${WRKBUILD}/configure - $(SED) "s#@@STAGING_DIR@@#$(STAGING_DIR)#" ${WRKBUILD}/setup.py - -python2-install: +HOST_CONFIGURE_ARGS:= --without-threads \ + --disable-toolbox-glue \ + --without-cxx-main + +python2-hostinstall: + $(INSTALL_BIN) ${HOST_WRKINST}/usr/bin/python \ + $(STAGING_HOST_DIR)/usr/bin + $(INSTALL_BIN) ${WRKBUILD}/Parser/pgen \ + $(STAGING_HOST_DIR)/usr/bin/pgen + $(CP) $(HOST_WRKINST)/usr/lib/python2.7 \ + $(STAGING_HOST_DIR)/usr/lib + $(INSTALL_DIR) $(STAGING_HOST_DIR)/usr/include/python2.7 + ${CP} ${HOST_WRKINST}/usr/include/python2.7/pyconfig.h \ + $(STAGING_HOST_DIR)/usr/include/python2.7 + +python2-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m} ${INSTALL_DIR} ${IDIR_PYTHON2}/usr/bin ${IDIR_PYTHON2}/usr/lib ${INSTALL_DIR} ${IDIR_PYTHON2}/usr/lib/python2.7 ${INSTALL_DIR} ${IDIR_PYTHON2}/usr/include/python2.7 @@ -81,21 +118,9 @@ python2-install: ${CP} ${WRKINST}/usr/lib/python2.7/* ${IDIR_PYTHON2}/usr/lib/python2.7 ${CP} ${WRKINST}/usr/include/python2.7/pyconfig.h \ ${IDIR_PYTHON2}/usr/include/python2.7 - -find ${IDIR_PYTHON2} -name "\*.pyc" -o -name "*\.pyo" -exec rm {} \; - -rm ${IDIR_PYTHON2}/usr/lib/python2.7/lib-dynload/readline.so - -rm ${IDIR_PYTHON2}/usr/lib/python2.7/lib-dynload/bz2.so - # workaround, copy host python-config to target scripts directory - ${CP} ${STAGING_HOST_DIR}/usr/bin/python*-config ${STAGING_DIR}/scripts - (cd ${STAGING_DIR}/usr/bin/ && ln -sf $(STAGING_HOST_DIR)/usr/bin/hostpython hostpython) - -python2-readline-install: - ${INSTALL_DIR} ${IDIR_PYTHON2_READLINE}/usr/lib/python2.7/lib-dynload - ${CP} ${WRKINST}/usr/lib/python2.7/lib-dynload/readline.so \ - ${IDIR_PYTHON2_READLINE}/usr/lib/python2.7/lib-dynload - -python2-bzip2-install: - ${INSTALL_DIR} ${IDIR_PYTHON2_BZIP2}/usr/lib/python2.7/lib-dynload - ${CP} ${WRKINST}/usr/lib/python2.7/lib-dynload/bz2.so \ - ${IDIR_PYTHON2_BZIP2}/usr/lib/python2.7/lib-dynload + for i in zlib bz2 _curses _ssl gdbm _sqlite pyexpat readline; do \ + rm ${IDIR_PYTHON2}/usr/lib/python2.7/lib-dynload/$${i}*so; \ + done +include ${TOPDIR}/mk/host-bottom.mk include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/python2/patches/patch-Makefile_pre_in b/package/python2/patches/patch-Makefile_pre_in index f18bd9a72..e4f59f0ba 100644 --- a/package/python2/patches/patch-Makefile_pre_in +++ b/package/python2/patches/patch-Makefile_pre_in @@ -1,166 +1,48 @@ -diff -Nur Python-2.7.1.orig/Makefile.pre.in Python-2.7.1/Makefile.pre.in ---- Python-2.7.1.orig/Makefile.pre.in 2010-10-14 13:37:30.000000000 +0200 -+++ Python-2.7.1/Makefile.pre.in 2013-07-11 11:56:32.128103200 +0200 -@@ -59,7 +59,7 @@ MAKESETUP= $(srcdir)/Modules/makese - # Compiler options - OPT= @OPT@ - BASECFLAGS= @BASECFLAGS@ --CFLAGS= $(BASECFLAGS) @CFLAGS@ $(OPT) $(EXTRA_CFLAGS) -+CFLAGS= $(BASECFLAGS) @CFLAGS@ $(EXTRA_CFLAGS) - # Both CPPFLAGS and LDFLAGS need to contain the shell's value for setup.py to - # be able to build extension modules using the directories specified in the - # environment variables -@@ -179,6 +179,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 -@@ -211,6 +212,7 @@ LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@ +--- Python-2.7.5.orig/Makefile.pre.in 2013-05-12 05:32:49.000000000 +0200 ++++ Python-2.7.5/Makefile.pre.in 2013-10-29 08:12:25.000000000 +0100 +@@ -227,6 +227,7 @@ LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@ ########################################################################## # Parser PGEN= Parser/pgen$(EXE) -+HOSTPGEN?= $(PGEN)$(EXE) - - POBJS= \ - Parser/acceler.o \ -@@ -380,7 +382,7 @@ build_all_generate_profile: - $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-generate" LIBS="$(LIBS) -lgcov" - - run_profile_task: -- ./$(BUILDPYTHON) $(PROFILE_TASK) -+ $(HOSTPYTHON) $(PROFILE_TASK) - - build_all_use_profile: - $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use" -@@ -398,14 +400,13 @@ $(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) $(HOSTPYTHON) -E -c 'import sys ; from sysconfig 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;; \ -+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \ - esac - - # Build static library -@@ -538,7 +539,7 @@ Modules/python.o: $(srcdir)/Modules/pyth - - $(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT) - -@$(INSTALL) -d Include -- -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) -+ -$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) - - $(PGEN): $(PGENOBJS) - $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN) -@@ -702,7 +703,7 @@ $(LIBRARY_OBJS) $(MODOBJS) Modules/pytho - - TESTOPTS= -l $(EXTRATESTOPTS) - TESTPROG= $(srcdir)/Lib/test/regrtest.py --TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -Wd -3 -E -tt $(TESTPYTHONOPTS) -+TESTPYTHON= $(RUNSHARED) $(HOSTPYTHON) -Wd -3 -E -tt $(TESTPYTHONOPTS) - test: all platform - -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f - -$(TESTPYTHON) $(TESTPROG) $(TESTOPTS) -@@ -725,7 +726,7 @@ testuniversal: all platform - -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f - -$(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS) - $(TESTPYTHON) $(TESTPROG) -uall $(TESTOPTS) -- $(RUNSHARED) /usr/libexec/oah/translate ./$(BUILDPYTHON) -E -tt $(TESTPROG) -uall $(TESTOPTS) -+ $(RUNSHARED) /usr/libexec/oah/translate $(HOSTPYTHON) -E -tt $(TESTPROG) -uall $(TESTOPTS) - - - # Like testall, but with a single pass only -@@ -920,26 +921,26 @@ libinstall: build_all $(srcdir)/Lib/$(PL - done; \ - done - $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt ++HOSTPGEN?= Parser/pgen$(EXE) + + PSRCS= \ + Parser/acceler.c \ +@@ -593,7 +594,7 @@ Modules/pwdmodule.o: $(srcdir)/Modules/p + $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS) + @$(MKDIR_P) Include + $(MAKE) $(PGEN) +- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) ++ $(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) + $(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS) + $(MAKE) $(GRAMMAR_H) + touch $(GRAMMAR_C) +@@ -1000,28 +1001,6 @@ libinstall: build_all $(srcdir)/Lib/$(PL + $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ + $(DESTDIR)$(LIBDEST)/distutils/tests ; \ + fi - PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ -- ./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ -+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ -+ $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ - -d $(LIBDEST) -f \ - -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ - $(DESTDIR)$(LIBDEST) +- $(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) \ -- ./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ -+ -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ -+ $(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()" +- $(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): -@@ -1044,11 +1045,12 @@ libainstall: all python-config - # Install the dynamically loadable modules - # This goes into $(exec_prefix) - sharedinstall: sharedmods -- $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \ -+ CROSS_COMPILE='$(CROSS_COMPILE)' \ -+ $(RUNSHARED) $(HOSTPYTHON) -E $(srcdir)/setup.py install \ - --prefix=$(prefix) \ - --install-scripts=$(BINDIR) \ - --install-platlib=$(DESTSHARED) \ -- --root=/$(DESTDIR) -+ --root=$(DESTDIR) - - # Here are a couple of targets for MacOSX again, to install a full - # framework-based Python. frameworkinstall installs everything, the -@@ -1082,7 +1084,7 @@ frameworkinstallstructure: $(LDLIBRARY) - fi; \ - done - $(LN) -fsn include/python$(VERSION) $(DESTDIR)$(prefix)/Headers -- sed 's/%VERSION%/'"`$(RUNSHARED) ./$(BUILDPYTHON) -c 'import platform; print platform.python_version()'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist -+ sed 's/%VERSION%/'"`$(RUNSHARED) $(HOSTPYTHON) -c 'import platform; print platform.python_version()'`"'/g' < $(RESSRCDIR)/Info.plist > $(DESTDIR)$(prefix)/Resources/Info.plist - $(LN) -fsn $(VERSION) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/Current - $(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/$(PYTHONFRAMEWORK) - $(LN) -fsn Versions/Current/Headers $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Headers -@@ -1117,7 +1119,7 @@ frameworkinstallextras: - # This installs a few of the useful scripts in Tools/scripts - scriptsinstall: - SRCDIR=$(srcdir) $(RUNSHARED) \ -- ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/setup.py install \ -+ $(HOSTPYTHON) $(srcdir)/Tools/scripts/setup.py install \ - --prefix=$(prefix) \ - --install-scripts=$(BINDIR) \ - --root=/$(DESTDIR) -@@ -1139,7 +1141,7 @@ config.status: $(srcdir)/configure - - # Run reindent on the library - reindent: -- ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib -+ $(HOSTPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib - - # Rerun configure with the same options as it was run last time, - # provided the config.status script exists -@@ -1242,7 +1244,7 @@ funny: - - # Perform some verification checks on any modified files. - patchcheck: -- $(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/patchcheck.py -+ $(RUNSHARED) $(HOSTPYTHON) $(srcdir)/Tools/scripts/patchcheck.py - - # Dependencies - diff --git a/package/python2/patches/patch-configure b/package/python2/patches/patch-configure deleted file mode 100644 index e47d860fd..000000000 --- a/package/python2/patches/patch-configure +++ /dev/null @@ -1,26 +0,0 @@ ---- Python-2.7.1.orig/configure 2010-11-01 02:47:19.000000000 +0100 -+++ Python-2.7.1/configure 2011-10-14 17:36:48.000000000 +0200 -@@ -2972,12 +2972,12 @@ fi - $as_echo_n "checking MACHDEP... " >&6; } - if test -z "$MACHDEP" - then -- ac_sys_system=`uname -s` -+ ac_sys_system=Linux - if test "$ac_sys_system" = "AIX" \ - -o "$ac_sys_system" = "UnixWare" -o "$ac_sys_system" = "OpenUNIX"; then - ac_sys_release=`uname -v` - else -- ac_sys_release=`uname -r` -+ ac_sys_release=2.6 - fi - ac_md_system=`echo $ac_sys_system | - tr -d '/ ' | tr '[A-Z]' '[a-z]'` -@@ -3150,7 +3150,7 @@ EXPORT_MACOSX_DEPLOYMENT_TARGET='#' - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking machine type as reported by uname -m" >&5 - $as_echo_n "checking machine type as reported by uname -m... " >&6; } --ac_sys_machine=`uname -m` -+ac_sys_machine=x86_64 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_sys_machine" >&5 - $as_echo "$ac_sys_machine" >&6; } - diff --git a/package/python2/patches/patch-setup_py b/package/python2/patches/patch-setup_py index fb91da1d3..f8f2fa1c0 100644 --- a/package/python2/patches/patch-setup_py +++ b/package/python2/patches/patch-setup_py @@ -1,96 +1,91 @@ -diff -Nur Python-2.7.orig/setup.py Python-2.7/setup.py ---- Python-2.7.1.orig/setup.py 2010-10-31 17:40:21.000000000 +0100 -+++ Python-2.7.1/setup.py 2011-10-06 20:34:53.328787057 +0200 -@@ -21,7 +21,7 @@ from distutils.spawn import find_executa - COMPILED_WITH_PYDEBUG = hasattr(sys, 'gettotalrefcount') +--- Python-2.7.5.orig/setup.py 2013-05-12 05:32:54.000000000 +0200 ++++ Python-2.7.5/setup.py 2013-10-29 07:33:37.000000000 +0100 +@@ -74,7 +74,7 @@ def find_file(filename, std_dirs, paths) + 'paths' is a list of additional locations to check; if the file is + found in one of them, the resulting list will contain the directory. + """ +- if host_platform == 'darwin': ++ if host_platform == 'darwin' and not cross_compiling: + # Honor the MacOSX SDK setting when one was specified. + # An SDK is a directory with the same structure as a real + # system, but with only header files and libraries. +@@ -84,7 +84,7 @@ def find_file(filename, std_dirs, paths) + for dir in std_dirs: + f = os.path.join(dir, filename) - # This global variable is used to hold the list of modules to be disabled. --disabled_module_list = [] -+disabled_module_list = ['nis'] +- if host_platform == 'darwin' and is_macosx_sdk_path(dir): ++ if host_platform == 'darwin' and is_macosx_sdk_path(dir) and not cross_compiling: + f = os.path.join(sysroot, dir[1:], filename) - def add_dir_to_list(dirlist, dir): - """Add the directory 'dir' to the list 'dirlist' (at the front) if -@@ -307,48 +307,14 @@ class PyBuildExt(build_ext): - ext_filename = os.path.join( - self.build_lib, - self.get_ext_filename(self.get_ext_fullname(ext.name))) -- try: -- imp.load_dynamic(ext.name, ext_filename) -- except ImportError, why: -- self.failed.append(ext.name) -- self.announce('*** WARNING: renaming "%s" since importing it' -- ' failed: %s' % (ext.name, why), level=3) -- assert not self.inplace -- basename, tail = os.path.splitext(ext_filename) -- newname = basename + "_failed" + tail -- if os.path.exists(newname): -- os.remove(newname) -- os.rename(ext_filename, newname) -- -- # XXX -- This relies on a Vile HACK in -- # distutils.command.build_ext.build_extension(). The -- # _built_objects attribute is stored there strictly for -- # use here. -- # If there is a failure, _built_objects may not be there, -- # so catch the AttributeError and move on. -- try: -- for filename in self._built_objects: -- os.remove(filename) -- except AttributeError: -- self.announce('unable to remove files (ignored)') -- except: -- exc_type, why, tb = sys.exc_info() -- self.announce('*** WARNING: importing extension "%s" ' -- 'failed with %s: %s' % (ext.name, exc_type, why), -- level=3) -- self.failed.append(ext.name) + if os.path.exists(f): return [] +@@ -93,7 +93,7 @@ def find_file(filename, std_dirs, paths) + for dir in paths: + f = os.path.join(dir, filename) - def get_platform(self): -- # Get value of sys.platform -- for platform in ['cygwin', 'beos', 'darwin', 'atheos', 'osf1']: -- if sys.platform.startswith(platform): -- return platform -- return sys.platform -+ return 'linux' +- if host_platform == 'darwin' and is_macosx_sdk_path(dir): ++ if host_platform == 'darwin' and is_macosx_sdk_path(dir) and not cross_compiling: + f = os.path.join(sysroot, dir[1:], filename) + + if os.path.exists(f): +@@ -107,7 +107,7 @@ def find_library_file(compiler, libname, + if result is None: + return None + +- if host_platform == 'darwin': ++ if host_platform == 'darwin' and not cross_compiling: + sysroot = macosx_sdk_root() + + # Check whether the found file is in one of the standard directories +@@ -116,7 +116,7 @@ def find_library_file(compiler, libname, + # Ensure path doesn't end with path separator + p = p.rstrip(os.sep) + +- if host_platform == 'darwin' and is_macosx_sdk_path(p): ++ if host_platform == 'darwin' and is_macosx_sdk_path(p) and not cross_compiling: + if os.path.join(sysroot, p[1:]) == dirname: + return [ ] + +@@ -129,7 +129,7 @@ def find_library_file(compiler, libname, + # Ensure path doesn't end with path separator + p = p.rstrip(os.sep) + +- if host_platform == 'darwin' and is_macosx_sdk_path(p): ++ if host_platform == 'darwin' and is_macosx_sdk_path(p) and not cross_compiling: + if os.path.join(sysroot, p[1:]) == dirname: + return [ p ] + +@@ -437,10 +437,12 @@ 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') ++ if not cross_compiling: ++ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') ++ add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') + self.add_gcc_paths() +- self.add_multiarch_paths() ++ if not cross_compiling: ++ self.add_multiarch_paths() # Add paths specified in the environment variables LDFLAGS and # CPPFLAGS for header and library files. -@@ -384,17 +350,6 @@ class PyBuildExt(build_ext): - for directory in reversed(options.dirs): +@@ -477,7 +479,8 @@ class PyBuildExt(build_ext): add_dir_to_list(dir_list, directory) -- if os.path.normpath(sys.prefix) != '/usr' \ + if os.path.normpath(sys.prefix) != '/usr' \ - and not sysconfig.get_config_var('PYTHONFRAMEWORK'): -- # 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 -- # the one that is currently installed (issue #7473) -- add_dir_to_list(self.compiler.library_dirs, -- sysconfig.get_config_var("LIBDIR")) -- add_dir_to_list(self.compiler.include_dirs, -- sysconfig.get_config_var("INCLUDEDIR")) -- - try: - have_unicode = unicode - except NameError: -@@ -403,11 +358,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 + ['@@STAGING_DIR@@/usr/lib'] -+ inc_dirs = self.compiler.include_dirs + ['@@STAGING_DIR@@/usr/include'] - exts = [] - missing = [] ++ 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 +@@ -530,7 +533,7 @@ class PyBuildExt(build_ext): + if host_platform == 'hp-ux11': + lib_dirs += ['/usr/lib/hpux64', '/usr/lib/hpux32'] +- if host_platform == 'darwin': ++ if host_platform == 'darwin' and not cross_compiling: + # This should work on any unixy platform ;-) + # If the user has bothered specifying additional -I and -L flags + # in OPT and LDFLAGS we might as well use them here. diff --git a/package/python3/Makefile b/package/python3/Makefile index 122e14bff..c18423290 100644 --- a/package/python3/Makefile +++ b/package/python3/Makefile @@ -65,7 +65,6 @@ endef $(eval $(call HOST_template,PYTHON3,python3,${PKG_VERSION}-${PKG_RELEASE})) $(eval $(call PKG_template,PYTHON3,python3,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) -$(eval $(call PKG_template,PYTHON3_MOD_ZLIB,python3-mod-zlib,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_ZLIB},${PKGFD_MOD_ZLIB},${PKG_SECTION})) $(eval $(call PKG_template,PYTHON3_MOD_BZ2,python3-mod-bz2,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_BZ2},${PKGFD_MOD_BZ2},${PKG_SECTION})) $(eval $(call PKG_template,PYTHON3_MOD_EXPAT,python3-mod-expat,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_EXPAT},${PKGFD_MOD_EXPAT},${PKG_SECTION})) $(eval $(call PKG_template,PYTHON3_MOD_SQLITE,python3-mod-sqlite,$(PKG_VERSION)-${PKG_RELEASE},${PKGFS_MOD_SQLITE},${PKGFD_MOD_SQLITE},${PKG_SECTION})) @@ -116,7 +115,7 @@ python3-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m} ${CP} ${WRKINST}/usr/lib/python3.3/* ${IDIR_PYTHON3}/usr/lib/python3.3 ${CP} ${WRKINST}/usr/include/python3.3m/pyconfig.h \ ${IDIR_PYTHON3}/usr/include/python3.3m - for i in zlib _bz2 _ncurses _ssl _gdbm _sqlite pyexpat readline; do \ + for i in zlib _bz2 _curses _ssl _gdbm _sqlite pyexpat readline; do \ rm ${IDIR_PYTHON3}/usr/lib/python3.3/lib-dynload/$${i}*so; \ done -- cgit v1.2.3