mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-04-20 11:38:34 +00:00
python3-ninja: New recipe
Some python modules rely on "import ninja". Only build and ship the python parts, and don't download and build ninja from sources. Use the already built ninja instead. The CMakeLists.txt file is a crippled copy from this ninja python module's sources, removing almost everything, and adding a dummy install target, so do_install() doesn't fail. The python code is patched so ninja is used from PATH. Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
committed by
Khem Raj
parent
b3d875df4d
commit
bf6779b62a
@@ -0,0 +1,9 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
|
||||
project(NinjaPythonDistributions)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_MODULE_PATH})
|
||||
|
||||
install(CODE "
|
||||
message(STATUS \"Install ninja project\")
|
||||
")
|
||||
@@ -0,0 +1,11 @@
|
||||
--- ninja-1.11.1/src/ninja/__init__.py.old 2022-11-05 09:49:23.000000000 +0100
|
||||
+++ ninja-1.11.1/src/ninja/__init__.py 2023-03-10 09:45:13.452082888 +0100
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
|
||||
def _program(name, args):
|
||||
- return subprocess.call([os.path.join(BIN_DIR, name)] + args, close_fds=False)
|
||||
+ return subprocess.call([name] + args, close_fds=False)
|
||||
|
||||
|
||||
def ninja():
|
||||
34
meta-python/recipes-devtools/python/python3-ninja_1.11.1.bb
Normal file
34
meta-python/recipes-devtools/python/python3-ninja_1.11.1.bb
Normal file
@@ -0,0 +1,34 @@
|
||||
SUMMARY = "Ninja is a small build system with a focus on speed"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE_Apache_20;md5=19cbd64715b51267a47bf3750cc6a8a5"
|
||||
|
||||
DEPENDS = "ninja-native cmake-native python3-scikit-build-native"
|
||||
|
||||
PYPI_PACKAGE = "ninja"
|
||||
PYPI_ARCHIVE_NAME_PREFIX = "pypi-"
|
||||
|
||||
inherit pypi python_setuptools_build_meta
|
||||
SRC_URI[sha256sum] = "c833a47d39b2d1eee3f9ca886fa1581efd5be6068b82734ac229961ee8748f90"
|
||||
|
||||
SRC_URI += " \
|
||||
file://CMakeLists.txt \
|
||||
file://run-ninja-from-path.patch \
|
||||
"
|
||||
|
||||
addtask do_patchbuild after do_patch before do_configure
|
||||
|
||||
do_patchbuild () {
|
||||
rm -f ${S}/CMakeLists.txt
|
||||
cp ${WORKDIR}/CMakeLists.txt ${S}/
|
||||
}
|
||||
|
||||
do_install:append () {
|
||||
rm -rf ${D}${bindir}
|
||||
}
|
||||
|
||||
RDEPENDS:${PN} = " \
|
||||
ninja \
|
||||
python3-scikit-build \
|
||||
"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
Reference in New Issue
Block a user