diff --git a/extras/tools/ninja-1.11.1-replace-pipes-quote-with-shlex-quote.patch b/extras/tools/ninja-1.11.1-replace-pipes-quote-with-shlex-quote.patch
new file mode 100644
index 0000000000000000000000000000000000000000..a6366117b4dab02f8bb17191c89991a7a57ecee6
--- /dev/null
+++ b/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()
diff --git a/extras/tools/tools.mak b/extras/tools/tools.mak
index 163996ba29367268182519caee359800be4e107b..5ce5351d20a25b0a4769c14790172d3cef20dae6 100644
--- a/extras/tools/tools.mak
+++ b/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