Browse Source

extras: tools: add python 3.13 support to Ninja

Backport a patch from Ninja 1.12 that adds python 3.13
support. This is necessary because current version of Ninja
does not work with python 3.13 as pipes module is deprecated.
pull/177/head
Khalid Masum 1 year ago
committed by Steve Lhomme
parent
commit
b8dff0645a
  1. 36
      extras/tools/ninja-1.11.1-replace-pipes-quote-with-shlex-quote.patch
  2. 1
      extras/tools/tools.mak

36
extras/tools/ninja-1.11.1-replace-pipes-quote-with-shlex-quote.patch

@ -0,0 +1,36 @@
From 9cf13cd1ecb7ae649394f4133d121a01e191560b Mon Sep 17 00:00:00 2001
From: Byoungchan Lee <byoungchan.lee@gmx.com>
Date: Mon, 9 Oct 2023 20:13:20 +0900
Subject: [PATCH] Replace pipes.quote with shlex.quote in configure.py
Python 3.12 deprecated the pipes module and it will be removed
in Python 3.13. In configure.py, I have replaced the usage of pipes.quote
with shlex.quote, which is the exactly same function as pipes.quote.
For more details, refer to PEP 0594: https://peps.python.org/pep-0594
---
configure.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.py b/configure.py
index 588250aa8a..c6973cd1a5 100755
--- a/configure.py
+++ b/configure.py
@@ -21,7 +21,7 @@
from optparse import OptionParser
import os
-import pipes
+import shlex
import string
import subprocess
import sys
@@ -262,7 +262,7 @@ def _run_command(self, cmdline):
env_keys = set(['CXX', 'AR', 'CFLAGS', 'CXXFLAGS', 'LDFLAGS'])
configure_env = dict((k, os.environ[k]) for k in os.environ if k in env_keys)
if configure_env:
- config_str = ' '.join([k + '=' + pipes.quote(configure_env[k])
+ config_str = ' '.join([k + '=' + shlex.quote(configure_env[k])
for k in configure_env])
n.variable('configure_env', config_str + '$ ')
n.newline()

1
extras/tools/tools.mak

@ -394,6 +394,7 @@ ninja-$(NINJA_VERSION).tar.gz:
ninja: UNPACK_DIR=ninja-$(NINJA_BUILD_NAME)
ninja: ninja-$(NINJA_VERSION).tar.gz
$(UNPACK)
$(APPLY) $(TOOLS)/ninja-1.11.1-replace-pipes-quote-with-shlex-quote.patch
$(MOVE)
.buildninja: ninja

Loading…
Cancel
Save