Files
meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_3.0.5.bb
T
Khem Raj 2e4ce0db2f python3-pandas: fix stripping of build paths from generated sources
do_install failed because the glob in do_install:prepend did not match
anything, leaving sed with a literal path to a non-existent file:

  sed: can't read .../build/pandas/_libs/sparse.cpython-*/pandas/_libs/sparse.pyx.c: No such file or directory

meson names the per-target private directory <target>.so.p and puts the
generated sources directly in it, so the actual file is

  ${B}/pandas/_libs/sparse.cpython-314-x86_64-linux-gnu.so.p/sparse.pyx.c

The do_compile:append hunk was meant to do the same job for every
generated source, but it searched for ${WORKDIR}/pandas-${PV}, which no
longer exists now that sources are unpacked under ${WORKDIR}/sources, so
it silently matched nothing.

Fix the remaining pass to look for ${S} and drop the redundant (and
fragile) per-file sed in do_install:prepend. Also parenthesise the -o
expression so the name filter applies to both alternatives, and use
-print0/-0.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-08-13 23:09:51 -07:00

47 lines
1.5 KiB
BlitzBasic

SUMMARY = "pandas library for high-performance data analysis tools"
DESCRIPTION = "pandas is an open source, BSD-licensed library providing \
high-performance, easy-to-use data structures and data analysis tools for \
the Python programming language."
HOMEPAGE = "https://pandas.pydata.org/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e98642e1210ade884e5254ab18d55b7d"
SRC_URI:append:class-target = " file://0001-BLD-add-option-to-specify-numpy-header-location.patch "
SRC_URI[sha256sum] = "dca3734d6ab7c906e6730f0788b0a1dbb9f2467731f9711f77995c8e9d62d712"
CVE_PRODUCT = "pandas"
inherit pkgconfig pypi python_mesonpy cython
DEPENDS += " \
python3-numpy \
python3-versioneer-native \
python3-wheel-native \
"
CFLAGS:append:toolchain-clang = " -Wno-error=deprecated-declarations"
RDEPENDS:${PN} += " \
python3-json \
python3-numpy \
python3-dateutil \
python3-dateutil-zoneinfo \
python3-pytz \
python3-profile \
"
PYTHONPATH:prepend:class-target = "${RECIPE_SYSROOT}${PYTHON_SITEPACKAGES_DIR}:"
export PYTHONPATH
do_compile:append() {
# Cython embeds the path of the .pyx it was generated from into the
# generated C sources, which are shipped in the -dbg package
find ${B} \( -name "*.c" -o -name "*.cpp" \) -print0 | xargs -0 -r \
sed -i 's|${S}/|${TARGET_DBGSRC_DIR}/|g'
}
EXTRA_OEMESON:append:class-target = " -Dnumpy_inc_dir=${RECIPE_SYSROOT}${PYTHON_SITEPACKAGES_DIR}/numpy/_core/include "
BBCLASSEXTEND = "native"