mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-01 13:58:04 +00:00
The user site-packages gets inserted into sys.path ahead of the system site directories, so a site package installed there will be used in preference to what's in our sysroot, causing less deterministic builds, and potential build breakage, depending on what the user has installed there. Disable it for our native python, so they don't affect our builds. (From OE-Core rev: c448bf3629ab5d930ed845d4ba48e37e4a85d2a3) Signed-off-by: Christopher Larson <kergoth@gmail.com> Signed-off-by: Yasir-Khan <yasir_khan@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
66 lines
2.3 KiB
BlitzBasic
66 lines
2.3 KiB
BlitzBasic
require python.inc
|
|
|
|
EXTRANATIVEPATH += "bzip2-native"
|
|
DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native"
|
|
PR = "${INC_PR}.1"
|
|
|
|
SRC_URI += "\
|
|
file://05-enable-ctypes-cross-build.patch \
|
|
file://06-ctypes-libffi-fix-configure.patch \
|
|
file://10-distutils-fix-swig-parameter.patch \
|
|
file://11-distutils-never-modify-shebang-line.patch \
|
|
file://12-distutils-prefix-is-inside-staging-area.patch \
|
|
file://debug.patch \
|
|
file://unixccompiler.patch \
|
|
file://nohostlibs.patch \
|
|
file://multilib.patch \
|
|
file://add-md5module-support.patch \
|
|
file://builddir.patch \
|
|
file://parallel-makeinst-create-bindir.patch \
|
|
file://python-fix-build-error-with-Readline-6.3.patch \
|
|
file://gcc-4.8-fix-configure-Wformat.patch \
|
|
file://json-flaw-fix.patch \
|
|
"
|
|
S = "${WORKDIR}/Python-${PV}"
|
|
|
|
FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:"
|
|
|
|
inherit native
|
|
|
|
RPROVIDES += "python-distutils-native python-compression-native python-textutils-native python-codecs-native python-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} \
|
|
'
|
|
|
|
do_configure_prepend() {
|
|
autoreconf --verbose --install --force --exclude=autopoint Modules/_ctypes/libffi || bbnote "_ctypes failed to autoreconf"
|
|
}
|
|
|
|
do_install() {
|
|
oe_runmake 'DESTDIR=${D}' install
|
|
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
|
|
|
|
# Add a symlink to the native Python so that scripts can just invoke
|
|
# "nativepython" and get the right one without needing absolute paths
|
|
# (these often end up too long for the #! parser in the kernel as the
|
|
# buffer is 128 bytes long).
|
|
ln -s python-native/python ${D}${bindir}/nativepython
|
|
|
|
# We don't want modules in ~/.local being used in preference to those
|
|
# installed in the native sysroot, so disable user site support.
|
|
sed -i -e 's,^\(ENABLE_USER_SITE = \).*,\1False,' ${D}${libdir}/python${PYTHON_MAJMIN}/site.py
|
|
}
|