diff --git a/net/py-zope.proxy/Makefile b/net/py-zope.proxy/Makefile
index 452019e436d2..f18aafb5b077 100644
--- a/net/py-zope.proxy/Makefile
+++ b/net/py-zope.proxy/Makefile
@@ -1,21 +1,25 @@
 PORTNAME=	zope.proxy
 DISTVERSION=	5.2
+PORTREVISION=	1
 CATEGORIES=	net python zope
 MASTER_SITES=	PYPI
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 DIST_SUBDIR=	zope
 
 MAINTAINER=	zope@FreeBSD.org
 COMMENT=	Generic Transparent Proxies
 WWW=		https://pypi.org/project/zope.proxy/
 
 LICENSE=	ZPL21
 
-BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}zope.interface>=3.3.0:devel/py-zope.interface@${PY_FLAVOR}
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}zope.interface>=3.3.0:devel/py-zope.interface@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
 
 USES=		python
-USE_PYTHON=	distutils autoplist
+USE_PYTHON=	autoplist pep517
 
-CFLAGS+=	-Wno-error=incompatible-function-pointer-types
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/zope/proxy/_zope_proxy_proxy${PYTHON_EXT_SUFFIX}.so
 
 .include <bsd.port.mk>
diff --git a/net/py-zope.proxy/files/patch-src_zope_proxy___zope__proxy__proxy.c b/net/py-zope.proxy/files/patch-src_zope_proxy___zope__proxy__proxy.c
new file mode 100644
index 000000000000..580cfdb00008
--- /dev/null
+++ b/net/py-zope.proxy/files/patch-src_zope_proxy___zope__proxy__proxy.c
@@ -0,0 +1,13 @@
+https://github.com/zopefoundation/zope.proxy/commit/f296acc8d1f2a37e0fc1ae76d1f06b730391fda7
+
+--- src/zope/proxy/_zope_proxy_proxy.c.orig	2024-08-06 15:48:48 UTC
++++ src/zope/proxy/_zope_proxy_proxy.c
+@@ -311,7 +311,7 @@ wrap_repr(PyObject *wrapper)
+     return PyObject_Repr(Proxy_GET_OBJECT(wrapper));
+ }
+ 
+-static long
++static Py_hash_t
+ wrap_hash(PyObject *self)
+ {
+     return PyObject_Hash(Proxy_GET_OBJECT(self));