diff --git a/meta-python/recipes-devtools/python/python3-gevent/not-final.patch b/meta-python/recipes-devtools/python/python3-gevent/not-final.patch
new file mode 100644
index 0000000000..444a195da4
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-gevent/not-final.patch
@@ -0,0 +1,16 @@
+gevent fails to build with Cython 3.0.10.  As per
+https://github.com/gevent/gevent/issues/2031, removing the
+cython.final decorator works around this.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+--- a/src/gevent/_gevent_cqueue.pxd
++++ b/src/gevent/_gevent_cqueue.pxd
+@@ -75,7 +75,6 @@ cdef class ItemWaiter(Waiter):
+     cdef readonly Queue queue
+ 
+ 
+-@cython.final
+ cdef class UnboundQueue(Queue):
+     pass
diff --git a/meta-python/recipes-devtools/python/python3-gevent_24.2.1.bb b/meta-python/recipes-devtools/python/python3-gevent_24.2.1.bb
index fbdbf8ccc7..0a74f52820 100644
--- a/meta-python/recipes-devtools/python/python3-gevent_24.2.1.bb
+++ b/meta-python/recipes-devtools/python/python3-gevent_24.2.1.bb
@@ -13,7 +13,8 @@ RDEPENDS:${PN} = "python3-greenlet \
 		  python3-zopeinterface \
 		 "
 
-SRC_URI += "file://0001-_setuputils.py-Do-not-add-sys_inc_dir.patch"
+SRC_URI += "file://0001-_setuputils.py-Do-not-add-sys_inc_dir.patch \
+	        file://not-final.patch"
 
 SRC_URI[sha256sum] = "432fc76f680acf7cf188c2ee0f5d3ab73b63c1f03114c7cd8a34cebbe5aa2056"
 
