diff --git a/testing/py3-cvxpy/APKBUILD b/testing/py3-cvxpy/APKBUILD
index 27405ee8c75c1342d64203ecc795b18590cdb356..3d3eb83e93bd68c7ce9d57369af29ab44d11e31e 100644
--- a/testing/py3-cvxpy/APKBUILD
+++ b/testing/py3-cvxpy/APKBUILD
@@ -2,13 +2,13 @@
 # Maintainer: Anjandev Momi <anjan@momi.ca>
 pkgname=py3-cvxpy
 pkgver=1.2.1
-pkgrel=4
+pkgrel=5
 pkgdesc="a Python-embedded modeling language for convex optimization problems"
 url="https://github.com/cvxpy/cvxpy"
 arch="all"
 license="Apache-2.0"
 depends="python3 py3-numpy py3-scipy py3-toolz py3-ecos py3-scs"
-makedepends="py3-setuptools py3-numpy-dev python3-dev"
+makedepends="py3-setuptools py3-numpy-dev python3-dev py3-gpep517"
 checkdepends="py3-pytest"
 subpackages="$pkgname-pyc"
 source="cvxpy-$pkgver.tar.gz::https://github.com/cvxpy/cvxpy/archive/refs/tags/v$pkgver.tar.gz"
@@ -21,15 +21,20 @@ case "$CARCH" in
 esac
 
 build() {
-	python3 setup.py build
+	gpep517 build-wheel \
+		--wheel-dir .dist \
+		--output-fd 3 3>&1 >&2
 }
 
 check() {
-	pytest
+	python3 -m venv --clear --without-pip --system-site-packages .testenv
+	gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+	.testenv/bin/python3 -m pytest
 }
 
 package() {
-	python3 setup.py install --skip-build --root="$pkgdir"
+	gpep517 install-wheel --destdir "$pkgdir" \
+		.dist/*.whl
 }
 
 sha512sums="