54 lines
1.9 KiB
Plaintext
54 lines
1.9 KiB
Plaintext
|
|
def ament__get_python_soabi(d):
|
|
machine = d.getVar('MACHINE', True)
|
|
pysoabi_prefix = 'cpython-' + d.getVar('PYTHON_BASEVERSION', True).replace('.', '') + d.getVar('PYTHON_ABI', True)
|
|
machine_pysoabi_map = {
|
|
'qemux86': (d.getVar('QB_SYSTEM_NAME_x86', True) or '').rsplit('-')[-1] + '-${TARGET_OS}-gnu',
|
|
'qemux86-64': (d.getVar('QB_SYSTEM_NAME_x86-64', True) or '').rsplit('-')[-1] + '-${TARGET_OS}-gnu',
|
|
'qemuarm64': '${TUNE_ARCH}-${TARGET_OS}${ARMPKGSFX_EABI}-gnu',
|
|
'raspberrypi3': '${TUNE_ARCH}-${TARGET_OS}${ARMPKGSFX_EABI}',
|
|
}
|
|
try:
|
|
return pysoabi_prefix + '-' + machine_pysoabi_map[machine]
|
|
except KeyError:
|
|
bb.fatal('Unknown MACHINE name: ' + machine + '; can not determine the PYTHON_SOABI value.')
|
|
|
|
EXTRA_OECMAKE_append = " -DBUILD_TESTING=OFF -DPYTHON_SOABI=${@ament__get_python_soabi(d)}"
|
|
# XXX Without STAGING_DIR_HOST path included, rmw-implementation:do_configure() fails with:
|
|
#
|
|
# "Could not find ROS middleware implementation 'NOTFOUND'"
|
|
#
|
|
export AMENT_PREFIX_PATH="${STAGING_DIR_HOST}${prefix};${STAGING_DIR_NATIVE}${prefix}"
|
|
|
|
inherit cmake python3native
|
|
|
|
do_install_append() {
|
|
rm -rf ${D}${datadir}/${ROS_BPN}/environment
|
|
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.bash
|
|
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.sh
|
|
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.zsh
|
|
rm -f ${D}${prefix}/local_setup.bash
|
|
rm -f ${D}${prefix}/local_setup.sh
|
|
rm -f ${D}${prefix}/local_setup.zsh
|
|
rm -f ${D}${prefix}/setup.bash
|
|
rm -f ${D}${prefix}/setup.sh
|
|
rm -f ${D}${prefix}/setup.zsh
|
|
rm -f ${D}${prefix}/_order_packages.py
|
|
}
|
|
|
|
FILES_${PN} = " \
|
|
${datadir}/${ROS_BPN}/package.xml \
|
|
${datadir}/${ROS_BPN}/resource \
|
|
${datadir}/${ROS_BPN}/msg \
|
|
${datadir}/${ROS_BPN}/srv \
|
|
${datadir}/ament_index \
|
|
${libdir}/${PYTHON_DIR} \
|
|
${libdir}/${ROS_BPN} \
|
|
${libdir}/lib*.so \
|
|
"
|
|
|
|
FILES_${PN}-dev = " \
|
|
${datadir}/${ROS_BPN}/cmake \
|
|
${includedir} \
|
|
"
|