python3-ninja: simplify recipe

Delete more code from __init__.py as we'll never be running from inside
a build tree.

Replace the use of skbuild.setup() with setuptools.setup(): the same
Python module is built and the only value-add is the potential build of
ninja, which we don't want and delete anyway.

This means we can remove most of the DEPENDS and RDEPENDS.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Ross Burton 2023-05-04 16:22:53 +01:00 committed by Khem Raj
parent 20d63965da
commit 15bc6cc2f0
3 changed files with 70 additions and 20 deletions

View File

@ -0,0 +1,31 @@
We don't need to build ninja so there's no need to use scikit-build,
as we just need the python module with it's one ninja() function.
Upstream-Status: Inappropriate
Signed-off-by: Ross Burton <ross.burton@arm.com>
diff --git a/pyproject.toml b/pyproject.toml
index b895c20..577b642 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,7 +1,6 @@
[build-system]
requires = [
"setuptools>=42",
- "scikit-build>=0.12",
]
build-backend = "setuptools.build_meta"
diff --git a/setup.py b/setup.py
index dbe1fbc..3259754 100755
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ import os
import sys
from distutils.text_file import TextFile
-from skbuild import setup
+from setuptools import setup
# Add current folder to path
# This is required to import versioneer in an isolated pip build

View File

@ -1,7 +1,40 @@
--- 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 @@
There's no need to hunt around source or install trees when we're just running ninja
from PATH.
Upstream-Status: Inappropriate
Signed-off-by: Ross Burton <ross.burton@arm.com>
diff --git a/src/ninja/__init__.py b/src/ninja/__init__.py
index f83767e..31bb926 100644
--- a/src/ninja/__init__.py
+++ b/src/ninja/__init__.py
@@ -19,32 +19,9 @@ except ImportError:
os.path.dirname(__file__), '../../Ninja-src/misc')))
from ninja_syntax import Writer, escape, expand # noqa: F401
-DATA = os.path.join(os.path.dirname(__file__), 'data')
-
-# Support running tests from the source tree
-if not os.path.exists(DATA):
- from skbuild.constants import CMAKE_INSTALL_DIR as SKBUILD_CMAKE_INSTALL_DIR
- from skbuild.constants import set_skbuild_plat_name
-
- if platform.system().lower() == "darwin":
- # Since building the project specifying --plat-name or CMAKE_OSX_* variables
- # leads to different SKBUILD_DIR, the code below attempt to guess the most
- # likely plat-name.
- _skbuild_dirs = os.listdir(os.path.join(os.path.dirname(__file__), '..', '..', '_skbuild'))
- if _skbuild_dirs:
- _likely_plat_name = '-'.join(_skbuild_dirs[0].split('-')[:3])
- set_skbuild_plat_name(_likely_plat_name)
-
- _data = os.path.abspath(os.path.join(
- os.path.dirname(__file__), '..', '..', SKBUILD_CMAKE_INSTALL_DIR(), 'src/ninja/data'))
- if os.path.exists(_data):
- DATA = _data
-
-BIN_DIR = os.path.join(DATA, 'bin')
-
def _program(name, args):
- return subprocess.call([os.path.join(BIN_DIR, name)] + args, close_fds=False)

View File

@ -2,33 +2,19 @@ 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}/
}
SRC_URI += "file://no-scikit-build.patch \
file://run-ninja-from-path.patch"
do_install:append () {
rm -rf ${D}${bindir}
}
RDEPENDS:${PN} = " \
ninja \
python3-scikit-build \
"
RDEPENDS:${PN} = "ninja"
BBCLASSEXTEND = "native nativesdk"