aboutsummaryrefslogtreecommitdiffstats
path: root/meta-python/recipes-devtools/python/python3-ninja/run-ninja-from-path.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-python/recipes-devtools/python/python3-ninja/run-ninja-from-path.patch')
-rw-r--r--meta-python/recipes-devtools/python/python3-ninja/run-ninja-from-path.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/meta-python/recipes-devtools/python/python3-ninja/run-ninja-from-path.patch b/meta-python/recipes-devtools/python/python3-ninja/run-ninja-from-path.patch
new file mode 100644
index 0000000000..0068efcc3a
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-ninja/run-ninja-from-path.patch
@@ -0,0 +1,44 @@
+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)
++ return subprocess.call([name] + args, close_fds=False)
+
+
+ def ninja():