diff --git a/meta-openembedded/meta-python/recipes-extended/python-cson/python3-cson/0001-setup.py-Do-not-poke-at-git-describe-to-find-version.patch b/meta-openembedded/meta-python/recipes-extended/python-cson/python3-cson/0001-setup.py-Do-not-poke-at-git-describe-to-find-version.patch
new file mode 100644
index 0000000..dc3f865
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-cson/python3-cson/0001-setup.py-Do-not-poke-at-git-describe-to-find-version.patch
@@ -0,0 +1,40 @@
+From 0d0ffab004306b1379f247016200ade381d1d181 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 8 Feb 2023 23:03:47 -0800
+Subject: [PATCH] setup.py: Do not poke at git describe to find version
+
+OE uses git snapshot and git describe --tags will emit a string which is
+not PEP440 compliant version scheme. setuptools 67+ is strict about it
+and fails to build. Therefore inject a static version.py from OE
+environment and use that for version number based on PV
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ setup.py | 10 ++--------
+ 1 file changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index a77138f..df675cd 100644
+--- a/setup.py
++++ b/setup.py
+@@ -28,14 +28,8 @@ def main():
+    # Also, when git is not available (PyPi package), use stored version.py.
+    version_py = os.path.join(os.path.dirname(__file__), 'version.py')
+ 
+-   try:
+-      if sys.version_info < (2, 7) or (3,) <= sys.version_info < (3, 2):
+-         version_git = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE).communicate()[0]
+-      else:
+-         version_git = subprocess.check_output(["git", "describe", "--tags"]).rstrip()
+-   except:
+-      with open(version_py, 'r') as fh:
+-         version_git = open(version_py).read().strip().split('=')[-1].replace('"','')
++   with open(version_py, 'r') as fh:
++      version_git = open(version_py).read().strip().split('=')[-1].replace('"','')
+ 
+    version_msg = "# Do not edit this file, pipeline versioning is governed by git tags"
+    with open(version_py, 'w') as fh:
+-- 
+2.39.1
+
