| Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | inherit distutils3-base | 
|  | 2 |  | 
|  | 3 | DISTUTILS_BUILD_ARGS ?= "" | 
|  | 4 | DISTUTILS_BUILD_EXT_ARGS ?= "" | 
|  | 5 | DISTUTILS_STAGE_HEADERS_ARGS ?= "--install-dir=${STAGING_INCDIR}/${PYTHON_DIR}" | 
|  | 6 | DISTUTILS_STAGE_ALL_ARGS ?= "--prefix=${STAGING_DIR_HOST}${prefix} \ | 
|  | 7 | --install-data=${STAGING_DATADIR}" | 
|  | 8 | DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \ | 
|  | 9 | --install-data=${D}/${datadir}" | 
|  | 10 |  | 
|  | 11 | distutils3_do_compile() { | 
|  | 12 | if [ ${BUILD_SYS} != ${HOST_SYS} ]; then | 
|  | 13 | SYS=${MACHINE} | 
|  | 14 | else | 
|  | 15 | SYS=${HOST_SYS} | 
|  | 16 | fi | 
|  | 17 | STAGING_INCDIR=${STAGING_INCDIR} \ | 
|  | 18 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | 
|  | 19 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${SYS} \ | 
|  | 20 | ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py \ | 
|  | 21 | build ${DISTUTILS_BUILD_ARGS} || \ | 
|  | 22 | bbfatal "${PYTHON_PN} setup.py build_ext execution failed." | 
|  | 23 | } | 
|  | 24 |  | 
|  | 25 | distutils3_stage_headers() { | 
|  | 26 | install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} | 
|  | 27 | if [ ${BUILD_SYS} != ${HOST_SYS} ]; then | 
|  | 28 | SYS=${MACHINE} | 
|  | 29 | else | 
|  | 30 | SYS=${HOST_SYS} | 
|  | 31 | fi | 
|  | 32 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${SYS} \ | 
|  | 33 | ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \ | 
|  | 34 | bbfatal "${PYTHON_PN} setup.py install_headers execution failed." | 
|  | 35 | } | 
|  | 36 |  | 
|  | 37 | distutils3_stage_all() { | 
|  | 38 | if [ ${BUILD_SYS} != ${HOST_SYS} ]; then | 
|  | 39 | SYS=${MACHINE} | 
|  | 40 | else | 
|  | 41 | SYS=${HOST_SYS} | 
|  | 42 | fi | 
|  | 43 | STAGING_INCDIR=${STAGING_INCDIR} \ | 
|  | 44 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | 
|  | 45 | install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} | 
|  | 46 | PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} \ | 
|  | 47 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${SYS} \ | 
|  | 48 | ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \ | 
|  | 49 | bbfatal "${PYTHON_PN} setup.py install (stage) execution failed." | 
|  | 50 | } | 
|  | 51 |  | 
|  | 52 | distutils3_do_install() { | 
|  | 53 | install -d ${D}${PYTHON_SITEPACKAGES_DIR} | 
|  | 54 | if [ ${BUILD_SYS} != ${HOST_SYS} ]; then | 
|  | 55 | SYS=${MACHINE} | 
|  | 56 | else | 
|  | 57 | SYS=${HOST_SYS} | 
|  | 58 | fi | 
|  | 59 | STAGING_INCDIR=${STAGING_INCDIR} \ | 
|  | 60 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | 
|  | 61 | PYTHONPATH=${D}${PYTHON_SITEPACKAGES_DIR} \ | 
|  | 62 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${SYS} \ | 
|  | 63 | ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install --install-lib=${D}/${PYTHON_SITEPACKAGES_DIR} ${DISTUTILS_INSTALL_ARGS} || \ | 
|  | 64 | bbfatal "${PYTHON_PN} setup.py install execution failed." | 
|  | 65 |  | 
|  | 66 | # support filenames with *spaces* | 
|  | 67 | find ${D} -name "*.py" -exec grep -q ${D} {} \; -exec sed -i -e s:${D}::g {} \; | 
|  | 68 |  | 
|  | 69 | if test -e ${D}${bindir} ; then | 
|  | 70 | for i in ${D}${bindir}/* ; do \ | 
|  | 71 | sed -i -e s:${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN}:${bindir}/env\ ${PYTHON_PN}:g $i | 
|  | 72 | sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i | 
|  | 73 | done | 
|  | 74 | fi | 
|  | 75 |  | 
|  | 76 | if test -e ${D}${sbindir}; then | 
|  | 77 | for i in ${D}${sbindir}/* ; do \ | 
|  | 78 | sed -i -e s:${STAGING_BINDIR_NATIVE}/python-${PYTHON_PN}/${PYTHON_PN}:${bindir}/env\ ${PYTHON_PN}:g $i | 
|  | 79 | sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i | 
|  | 80 | done | 
|  | 81 | fi | 
|  | 82 |  | 
|  | 83 | rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/easy-install.pth | 
|  | 84 |  | 
|  | 85 | # | 
|  | 86 | # FIXME: Bandaid against wrong datadir computation | 
|  | 87 | # | 
|  | 88 | if test -e ${D}${datadir}/share; then | 
|  | 89 | mv -f ${D}${datadir}/share/* ${D}${datadir}/ | 
|  | 90 | rmdir ${D}${datadir}/share | 
|  | 91 | fi | 
|  | 92 | } | 
|  | 93 |  | 
|  | 94 | EXPORT_FUNCTIONS do_compile do_install | 
|  | 95 |  | 
|  | 96 | export LDSHARED="${CCLD} -shared" |