diff --git a/srcpkgs/python3-lxml/patches/fix-encoding-tests-musl.patch b/srcpkgs/python3-lxml/patches/fix-encoding-tests-musl.patch
deleted file mode 100644
index e2d0e3b36bd..00000000000
--- a/srcpkgs/python3-lxml/patches/fix-encoding-tests-musl.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-from alpine: https://gitlab.alpinelinux.org/alpine/aports/-/blob/3f64a63298ac78f5f2a50a52e3e3f01eef1b51ce/main/py3-lxml/tests-fix-encoding-name.patch
-
-diff --git a/src/lxml/tests/test_incremental_xmlfile.py b/src/lxml/tests/test_incremental_xmlfile.py
-index 3162155..43b79d7 100644
---- a/src/lxml/tests/test_incremental_xmlfile.py
-+++ b/src/lxml/tests/test_incremental_xmlfile.py
-@@ -177,10 +177,10 @@ class _XmlFileTestCaseBase(HelperTestCase):
- 'Comments: <!-- text -->\nEntities: &')
-
- def test_encoding(self):
-- with etree.xmlfile(self._file, encoding='utf16') as xf:
-+ with etree.xmlfile(self._file, encoding='utf-16') as xf:
- with xf.element('test'):
- xf.write('toast')
-- self.assertXml('toast', encoding='utf16')
-+ self.assertXml('toast', encoding='utf-16')
-
- def test_buffering(self):
- with etree.xmlfile(self._file, buffered=False) as xf:
diff --git a/srcpkgs/python3-lxml/template b/srcpkgs/python3-lxml/template
index 32ac3828139..8fdf77220f3 100644
--- a/srcpkgs/python3-lxml/template
+++ b/srcpkgs/python3-lxml/template
@@ -1,10 +1,10 @@
# Template file for 'python3-lxml'
pkgname=python3-lxml
-version=5.3.0
-revision=2
-build_style=python3-module
-make_build_args="--with-cython"
-hostmakedepends="python3-Cython python3-setuptools"
+version=5.4.0
+revision=1
+build_style=python3-pep517
+make_build_args="-C--build-option=--with-cython"
+hostmakedepends="python3-Cython python3-setuptools python3-wheel"
makedepends="libxslt-devel python3-devel"
depends="python3"
checkdepends="python3-cssselect python3-BeautifulSoup4 python3-html5lib"
@@ -14,7 +14,7 @@ license="BSD-3-Clause, custom:ElementTree"
homepage="https://lxml.de/"
changelog="https://raw.githubusercontent.com/lxml/lxml/master/CHANGES.txt"
distfiles="https://github.com/lxml/lxml/archive/lxml-${version}.tar.gz"
-checksum=eb22f7ceb319c29247cfa398435d00e6286d19a32b4870b67a8e9a38d72f2ebd
+checksum=12ed971a99bd07977e236bf59314cfd53fbf5d59f39d4a13caad901c7fceb0a2
do_check() {
make test