classes-recipe/cython: handle builds with no .c sources

This didn't seem to be possible considering the entire point of Cython
is to generate C bindings, but some Python build systems remove the
build tree once the wheel has been generated, so we never get to see the
sources. As xargs will call the specified command even without any files
this results in sed failing.

Pass --no-run-if-empty so that this case doesn't result in an error.

(From OE-Core rev: f1c1bdb05ea8f79a14a4b53e110889b70881f4d7)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2024-11-14 21:53:53 +00:00 committed by Richard Purdie
parent 3975cc6f4f
commit 121ffba743

View File

@ -7,5 +7,5 @@ do_compile[postfuncs] = "strip_cython_metadata"
strip_cython_metadata() {
# Remove the Cython Metadata headers that we don't need after the build, and
# may contain build paths.
find ${S} -name "*.c" -print0 | xargs -0 sed -i -e "/BEGIN: Cython Metadata/,/END: Cython Metadata/d"
find ${S} -name "*.c" -print0 | xargs --no-run-if-empty --null sed -i -e "/BEGIN: Cython Metadata/,/END: Cython Metadata/d"
}