diff --git a/community/py3-requests-cache/APKBUILD b/community/py3-requests-cache/APKBUILD
index 26b1d52b2c4e9077e523fbc3fc4d7bf9d7d72aa1..d86a207bde19a8e536da9091ede7eae92bc9e751 100644
--- a/community/py3-requests-cache/APKBUILD
+++ b/community/py3-requests-cache/APKBUILD
@@ -9,43 +9,50 @@ arch="noarch"
 license="BSD-3-Clause"
 depends="
 	py3-appdirs
+	py3-attrs
+	py3-cattrs
 	py3-requests
 	py3-responses
 	py3-url-normalize
+	py3-urllib3
 	python3
 	"
-makedepends="py3-setuptools"
+makedepends="
+	py3-gpep517
+	py3-poetry-core
+	"
 checkdepends="
-	py3-cattrs
-	py3-ujson
 	py3-itsdangerous
 	py3-mock
+	py3-mongo
+	py3-orjson
+	py3-msgpack
 	py3-pytest
+	py3-pytest-xdist
 	py3-requests-mock
 	py3-timeout-decorator
+	py3-ujson
+	py3-yaml
 	"
 subpackages="$pkgname-pyc"
 source="https://pypi.python.org/packages/source/r/requests-cache/requests-cache-$pkgver.tar.gz"
 builddir="$srcdir/requests-cache-$pkgver"
 
-prepare() {
-	default_prepare
-
-	# Invoke python3
-	sed -i "s|os.system('python %s' % test)|os.system('python3 %s' % test)|" setup.py
-}
-
 build() {
-	python3 setup.py build
+	gpep517 build-wheel \
+		--wheel-dir dist \
+		--output-fd 3 3>&1 >&2
 }
 
 check() {
-	# integration tests skipped as they require running databases
-	pytest --ignore tests/integration
+	python3 -m venv --clear --without-pip --system-site-packages testenv
+	testenv/bin/python3 -m installer dist/*.whl
+	testenv/bin/python3 -m pytest -n auto --ignore tests/integration
 }
 
 package() {
-	python3 setup.py install --skip-build --root="$pkgdir"
+	python3 -m installer -d "$pkgdir" \
+		dist/*.whl
 }
 
 sha512sums="