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:
Zoltán Böszörményi
2023-03-10 14:46:37 +01:00
committed by Khem Raj
parent b3d875df4d
commit bf6779b62a
3 changed files with 54 additions and 0 deletions

View File

@@ -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\")
")

View File

@@ -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():