2 Commits

Author SHA1 Message Date
Jiaying Song
2a4bed73a9
python3-ninja: fix ninja_syntax import and version for setuptools build
Fixes issues introduced in commit 16a72067f5 ("python3-ninja: upgrade
1.11.1.1 -> 1.13.0").

Upstream's __init__.py uses a relative import:
  from .ninja_syntax import Writer, escape, expand

This requires ninja_syntax.py to be present inside the ninja package
directory. Upstream relies on CMake (via scikit-build-core) to copy
ninja_syntax.py from ninja-upstream/misc/ into the package during
build [1]. Since the OE recipe replaces scikit-build-core with
setuptools (no-scikit-build.patch), CMake is not invoked and this
copy does not happen, causing ImportError at runtime.

Similarly, upstream uses scikit-build-core's generate feature to
create _version.py from the SCM version. With setuptools, this
does not happen automatically, so generate it in do_configure.

[1] https://github.com/scikit-build/ninja-python-distributions/commit/f3b4a786be

Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-04-02 16:05:46 +00:00
Jiaying Song
16a72067f5
python3-ninja: upgrade 1.11.1.1 -> 1.13.0
Changelog:
https://github.com/scikit-build/ninja-python-distributions/releases

Upstream commit [1] switched build system from scikit-build to
scikit-build-core, which changed pyproject.toml structure and rewrote
__init__.py. Update patches accordingly:

- no-scikit-build.patch: rewrite for new pyproject.toml structure,
  replace scikit-build-core with setuptools, and remove 'readme'
  from dynamic fields as setuptools cannot handle the fancy-pypi-readme
  plugin.
- run-ninja-from-path.patch: drop. Old version imported skbuild
  modules in __init__.py which caused ImportError in OE since
  scikit-build is not installed. New version replaced these imports
  with stdlib sysconfig, so the patch is no longer needed.
- CMakeLists.txt: drop. This was a stub file added to prevent
  scikit-build from failing when it could not find CMakeLists.txt.
  Since we now use setuptools which does not require it, the file
  can be removed.

[1] https://github.com/scikit-build/ninja-python-distributions/commit/f3b4a786be

Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-03-18 14:33:27 -07:00