summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python3-native_3.3.3.bb
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2013-05-14 15:00:26 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-02 22:37:39 +0000
commit1c8869bca49cacbbad7520d17df1d3fab475a71c (patch)
tree931c923665138acf2fb101c11545735286c022e4 /meta/recipes-devtools/python/python3-native_3.3.3.bb
parent3f57c714d0d4b9cc68a129c332291c41e6615a9f (diff)
downloadast2050-yocto-poky-1c8869bca49cacbbad7520d17df1d3fab475a71c.zip
ast2050-yocto-poky-1c8869bca49cacbbad7520d17df1d3fab475a71c.tar.gz
python3: Add target and native recipes
3.3.3 is latest bugfix release in 3.3 series License text is changed to reflect year and prev releases +++ ../Python-3.3.2/LICENSE 2013-05-15 09:32:54.000000000 -0700 @@ -74,7 +74,9 @@ 3.2.1 3.2 2011 PSF yes 3.2.2 3.2.1 2011 PSF yes 3.2.3 3.2.2 2012 PSF yes + 3.2.4 3.2.3 2013 PSF yes 3.3.0 3.2 2012 PSF yes + 3.3.1 3.3.0 2013 PSF yes Footnotes: @@ -110,8 +112,8 @@ distribute, and otherwise use Python alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -2011, 2012 Python Software Foundation; All Rights Reserved" are retained in Python -alone or in any derivative version prepared by Licensee. +2011, 2012, 2013 Python Software Foundation; All Rights Reserved" are retained +in Python alone or in any derivative version prepared by Licensee. We use native python in disutils bbclass and this needs to peek into target sysroot when building plugins in cross environment. Otherwise anything that inherits distutils3.bbclass will not build. Fix host include contamination issue Let compiler append sysroot to include path if it can Fix the compiler invocation and linker flags when cross compiling The details are in patch header. This should fix the QA errors about host contamination Add virtual/libintl to dep list There is use of libintl.h but we dont express the dependency Add lzma dependency for python3-misc Fixes and from test-dependencies.sh run there is undeterministic lzma dependency: WARN: packages/armv5te-oe-linux-gnueabi/python3/python3-misc/latest lost dependency on liblzma Fix staging warnings due to duplicate install WARNING: The recipe python3 is trying to install files into a shared area when those files already exist. Those files and their manifest location are: builds/world/tmp/sysroots/qemux86-64/usr/include/python3.3m/pyconfig.h builds/world/tmp/sysroots/qemux86-64/usr/lib/libpython3.3m.so.1.0 builds/world/tmp/sysroots/qemux86-64/usr/lib/libpython3.3m.so builds/world/tmp/sysroots/qemux86-64/usr/lib/python3.3/config/Makefile Let compiler search includes relative to sysroot This makes it cross compilable and assumption on hardcoded paths is fixed. Errors like below would appear if ncursesw is installed on build host cc1: warning: include location "/usr/include/ncursesw" is unsafe for cross-compilation [-Wpoison-system-directories] (From OE-Core rev: 185fcfc3286b355394ae89300f22b8cb7aaa43c1) Signed-off-by: Khem Raj <raj.khem@gmail.com> Fix linking not happening issue in modules We need to tweak CONFIGURE_LDFLAGS for python3 instead of LDFLAGS directly Add second compile stage which uses original makefile Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/python/python3-native_3.3.3.bb')
-rw-r--r--meta/recipes-devtools/python/python3-native_3.3.3.bb70
1 files changed, 70 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python3-native_3.3.3.bb b/meta/recipes-devtools/python/python3-native_3.3.3.bb
new file mode 100644
index 0000000..26b811f
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-native_3.3.3.bb
@@ -0,0 +1,70 @@
+require recipes-devtools/python/python.inc
+
+PR = "${INC_PR}.0"
+PYTHON_MAJMIN = "3.3"
+DISTRO_SRC_URI ?= "file://sitecustomize.py"
+DISTRO_SRC_URI_linuxstdbase = ""
+SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2 \
+file://12-distutils-prefix-is-inside-staging-area.patch \
+file://000-cross-compile.patch \
+file://020-dont-compile-python-files.patch \
+file://030-fixup-include-dirs.patch \
+file://070-dont-clean-ipkg-install.patch \
+file://080-distutils-dont_adjust_files.patch \
+file://110-enable-zlib.patch \
+file://130-readline-setup.patch \
+file://150-fix-setupterm.patch \
+file://python-3.3-multilib.patch \
+file://03-fix-tkinter-detection.patch \
+file://avoid_warning_about_tkinter.patch \
+file://06-ctypes-libffi-fix-configure.patch \
+file://shutil-follow-symlink-fix.patch \
+file://0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch \
+file://sysroot-include-headers.patch \
+file://unixccompiler.patch \
+${DISTRO_SRC_URI} \
+"
+SRC_URI[md5sum] = "f3ebe34d4d8695bf889279b54673e10c"
+SRC_URI[sha256sum] = "e526e9b612f623888364d30cc9f3dfc34dcef39065c713bdbcddf47df84d8dcb"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4eaea08eaaf6875189b0c49f26fa2005"
+
+S = "${WORKDIR}/Python-${PV}"
+
+EXTRANATIVEPATH += "bzip2-native"
+DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native"
+
+inherit native
+
+RPROVIDES += "python3-distutils-native python3-compression-native python3-textutils-native python3-core-native"
+
+EXTRA_OECONF_append = " --bindir=${bindir}/${PN}"
+
+EXTRA_OEMAKE = '\
+ BUILD_SYS="" \
+ HOST_SYS="" \
+ LIBC="" \
+ STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \
+ STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \
+ LIB=${baselib} \
+ ARCH=${TARGET_ARCH} \
+'
+
+do_configure_prepend() {
+ autoreconf --verbose --install --force --exclude=autopoint Modules/_ctypes/libffi || bbnote "_ctypes failed to autoreconf"
+}
+
+do_install() {
+ install -d ${D}${libdir}/pkgconfig
+ oe_runmake 'DESTDIR=${D}' install
+ if [ -e ${WORKDIR}/sitecustomize.py ]; then
+ install -m 0644 ${WORKDIR}/sitecustomize.py ${D}/${libdir}/python${PYTHON_MAJMIN}
+ fi
+ install -d ${D}${bindir}/${PN}
+ install -m 0755 Parser/pgen ${D}${bindir}/${PN}
+
+ # Make sure we use /usr/bin/env python
+ for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do
+ sed -i -e '1s|^#!.*|#!/usr/bin/env python|' $PYTHSCRIPT
+ done
+}
OpenPOWER on IntegriCloud