diff options
| author | Derek Straka <derek@asterius.io> | 2018-01-30 12:22:49 -0500 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-02-06 11:06:27 +0000 |
| commit | 39e48c8b066518909ea647bb3168243061fc1414 (patch) | |
| tree | 4208257e1662982bd6fc9ea67b49c19de3245ba8 /meta/recipes-devtools/python/python3-native_3.5.4.bb | |
| parent | 863df3c81f3f9786924c98aad01d1219c540fb26 (diff) | |
| download | poky-39e48c8b066518909ea647bb3168243061fc1414.tar.gz | |
python3: update target and native recipes to 3.5.4
Use the latest 3.5 version until the 3.6 migration is complete
Removed the following upstreamed patches:
- python3/Fix-29519-weakref-spewing-exceptions-during-interp-f.patch
- python3/upstream-random-fixes.patch
Rebased the following pathes:
- python3/0001-cross-compile-support.patch
Regenerated the manifest based on the latest release version
Updated the license checksum for the latest version that updated the
copyright dates
(From OE-Core rev: eb80d0391d7d4e83a61ed8850d936b102be3fa02)
Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/python/python3-native_3.5.4.bb')
| -rw-r--r-- | meta/recipes-devtools/python/python3-native_3.5.4.bb | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python3-native_3.5.4.bb b/meta/recipes-devtools/python/python3-native_3.5.4.bb new file mode 100644 index 0000000000..c8252539a9 --- /dev/null +++ b/meta/recipes-devtools/python/python3-native_3.5.4.bb | |||
| @@ -0,0 +1,110 @@ | |||
| 1 | require recipes-devtools/python/python.inc | ||
| 2 | |||
| 3 | PR = "${INC_PR}.0" | ||
| 4 | PYTHON_MAJMIN = "3.5" | ||
| 5 | DISTRO_SRC_URI ?= "file://sitecustomize.py" | ||
| 6 | DISTRO_SRC_URI_linuxstdbase = "" | ||
| 7 | SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ | ||
| 8 | file://12-distutils-prefix-is-inside-staging-area.patch \ | ||
| 9 | file://python-config.patch \ | ||
| 10 | file://0001-cross-compile-support.patch \ | ||
| 11 | file://030-fixup-include-dirs.patch \ | ||
| 12 | file://070-dont-clean-ipkg-install.patch \ | ||
| 13 | file://080-distutils-dont_adjust_files.patch \ | ||
| 14 | file://130-readline-setup.patch \ | ||
| 15 | file://150-fix-setupterm.patch \ | ||
| 16 | file://python-3.3-multilib.patch \ | ||
| 17 | file://03-fix-tkinter-detection.patch \ | ||
| 18 | file://avoid_warning_about_tkinter.patch \ | ||
| 19 | file://shutil-follow-symlink-fix.patch \ | ||
| 20 | file://0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch \ | ||
| 21 | file://sysroot-include-headers.patch \ | ||
| 22 | file://unixccompiler.patch \ | ||
| 23 | ${DISTRO_SRC_URI} \ | ||
| 24 | file://sysconfig.py-add-_PYTHON_PROJECT_SRC.patch \ | ||
| 25 | file://setup.py-check-cross_compiling-when-get-FLAGS.patch \ | ||
| 26 | file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \ | ||
| 27 | file://support_SOURCE_DATE_EPOCH_in_py_compile.patch \ | ||
| 28 | " | ||
| 29 | |||
| 30 | SRC_URI[md5sum] = "fb2780baa260b4e51cbea814f111f303" | ||
| 31 | SRC_URI[sha256sum] = "94d93bfabb3b109f8a10365a325f920f9ec98c6e2380bf228f9700a14054c84c" | ||
| 32 | |||
| 33 | LIC_FILES_CHKSUM = "file://LICENSE;md5=f741e51de91d4eeea5930b9c3c7fa69d" | ||
| 34 | |||
| 35 | # exclude pre-releases for both python 2.x and 3.x | ||
| 36 | UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" | ||
| 37 | |||
| 38 | S = "${WORKDIR}/Python-${PV}" | ||
| 39 | |||
| 40 | EXTRANATIVEPATH += "bzip2-native" | ||
| 41 | DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native gdbm-native" | ||
| 42 | |||
| 43 | inherit native | ||
| 44 | |||
| 45 | # uninative may be used on pre glibc 2.25 systems which don't have getentropy | ||
| 46 | EXTRA_OECONF_append = " --bindir=${bindir}/${PN} --without-ensurepip ac_cv_func_getentropy=no" | ||
| 47 | |||
| 48 | EXTRA_OEMAKE = '\ | ||
| 49 | LIBC="" \ | ||
| 50 | STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \ | ||
| 51 | STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \ | ||
| 52 | LIB=${baselib} \ | ||
| 53 | ARCH=${TARGET_ARCH} \ | ||
| 54 | ' | ||
| 55 | |||
| 56 | # No ctypes option for python 3 | ||
| 57 | PYTHONLSBOPTS = "" | ||
| 58 | |||
| 59 | do_configure_append() { | ||
| 60 | autoreconf --verbose --install --force --exclude=autopoint ../Python-${PV}/Modules/_ctypes/libffi | ||
| 61 | sed -i -e 's,#define HAVE_GETRANDOM 1,/\* #undef HAVE_GETRANDOM \*/,' ${B}/pyconfig.h | ||
| 62 | } | ||
| 63 | |||
| 64 | # Regenerate all of the generated files | ||
| 65 | # This ensures that pgen and friends get created during the compile phase | ||
| 66 | do_compile_prepend() { | ||
| 67 | oe_runmake regen-all | ||
| 68 | } | ||
| 69 | |||
| 70 | do_install() { | ||
| 71 | install -d ${D}${libdir}/pkgconfig | ||
| 72 | oe_runmake 'DESTDIR=${D}' install | ||
| 73 | if [ -e ${WORKDIR}/sitecustomize.py ]; then | ||
| 74 | install -m 0644 ${WORKDIR}/sitecustomize.py ${D}/${libdir}/python${PYTHON_MAJMIN} | ||
| 75 | fi | ||
| 76 | install -d ${D}${bindir}/${PN} | ||
| 77 | install -m 0755 Parser/pgen ${D}${bindir}/${PN} | ||
| 78 | |||
| 79 | # Make sure we use /usr/bin/env python | ||
| 80 | for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do | ||
| 81 | sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT | ||
| 82 | done | ||
| 83 | |||
| 84 | # Add a symlink to the native Python so that scripts can just invoke | ||
| 85 | # "nativepython" and get the right one without needing absolute paths | ||
| 86 | # (these often end up too long for the #! parser in the kernel as the | ||
| 87 | # buffer is 128 bytes long). | ||
| 88 | ln -s python3-native/python3 ${D}${bindir}/nativepython3 | ||
| 89 | } | ||
| 90 | |||
| 91 | python(){ | ||
| 92 | |||
| 93 | # Read JSON manifest | ||
| 94 | import json | ||
| 95 | pythondir = d.getVar('THISDIR',True) | ||
| 96 | with open(pythondir+'/python3/python3-manifest.json') as manifest_file: | ||
| 97 | python_manifest=json.load(manifest_file) | ||
| 98 | |||
| 99 | rprovides = d.getVar('RPROVIDES').split() | ||
| 100 | |||
| 101 | # Hardcoded since it cant be python3-native-foo, should be python3-foo-native | ||
| 102 | pn = 'python3' | ||
| 103 | |||
| 104 | for key in python_manifest: | ||
| 105 | pypackage = pn + '-' + key + '-native' | ||
| 106 | if pypackage not in rprovides: | ||
| 107 | rprovides.append(pypackage) | ||
| 108 | |||
| 109 | d.setVar('RPROVIDES', ' '.join(rprovides)) | ||
| 110 | } | ||
