git: 2b0251dce16b - main - www/py-html5lib: fix build with newer setuptools
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 18 Mar 2026 16:03:45 UTC
The branch main has been updated by vishwin:
URL: https://cgit.FreeBSD.org/ports/commit/?id=2b0251dce16b46466be31b4bc4cd41276d1ab522
commit 2b0251dce16b46466be31b4bc4cd41276d1ab522
Author: Charlie Li <vishwin@FreeBSD.org>
AuthorDate: 2026-03-12 15:42:47 +0000
Commit: Charlie Li <vishwin@FreeBSD.org>
CommitDate: 2026-03-18 16:01:03 +0000
www/py-html5lib: fix build with newer setuptools
Use an upstream pull request [0] to handle ast.Str deprecation/removal, as the existing patch fails:
Traceback (most recent call last):
File "/usr/local/lib/python3.13t/site-packages/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
main()
~~~~^^
File "/usr/local/lib/python3.13t/site-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in main
json_out["return_val"] = hook(**hook_input["kwargs"])
~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13t/site-packages/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel
return hook(config_settings)
File "/usr/local/lib/python3.13t/site-packages/setuptools/build_meta.py", line 333, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=[])
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13t/site-packages/setuptools/build_meta.py", line 301, in _get_build_requires
self.run_setup()
~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13t/site-packages/setuptools/build_meta.py", line 520, in run_setup
super().run_setup(setup_script=setup_script)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13t/site-packages/setuptools/build_meta.py", line 317, in run_setup
exec(code, locals())
~~~~^^^^^^^^^^^^^^^^
File "<string>", line 96, in <module>
File "/usr/local/lib/python3.13t/site-packages/setuptools/__init__.py", line 117, in setup
return distutils.core.setup(**attrs) # type: ignore[return-value]
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/usr/local/lib/python3.13t/site-packages/setuptools/_distutils/core.py", line 148, in setup
_setup_distribution = dist = klass(attrs)
~~~~~^^^^^^^
File "/usr/local/lib/python3.13t/site-packages/setuptools/dist.py", line 332, in __init__
self.metadata.version = self._normalize_version(self.metadata.version)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13t/site-packages/setuptools/dist.py", line 368, in _normalize_version
normalized = str(Version(version))
~~~~~~~^^^^^^^^^
File "/usr/local/lib/python3.13t/site-packages/packaging/version.py", line 359, in __init__
match = self._regex.fullmatch(version)
TypeError: expected string or bytes-like object, got 'Constant'
While here:
- remove all references to pkg_resources, removed in setuptools 82+
- switch to USE_PYTHON=pep517
[0] https://github.com/html5lib/html5lib-python/pull/589
PR: 293763
Approved by: rm (maintainer)
---
www/py-html5lib/Makefile | 10 ++++++++--
www/py-html5lib/distinfo | 6 +++++-
www/py-html5lib/files/patch-setup.py | 13 -------------
3 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/www/py-html5lib/Makefile b/www/py-html5lib/Makefile
index 510b856b2268..0c673849efaf 100644
--- a/www/py-html5lib/Makefile
+++ b/www/py-html5lib/Makefile
@@ -1,10 +1,14 @@
PORTNAME= html5lib
PORTVERSION= 1.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+PATCH_SITES= https://github.com/html5lib/html5lib-python/commit/
+PATCHFILES= b90dafff1bf342d34d539098013d0b9f318c7641.patch:-p1 \
+ 2ba10ae9c0852318aee4dfece8cd8b49bfe48682.patch:-p1
+
MAINTAINER= rm@FreeBSD.org
COMMENT= Python based HTML parser based on the HTML5 spec
WWW= https://github.com/html5lib/html5lib-python
@@ -12,11 +16,13 @@ WWW= https://github.com/html5lib/html5lib-python
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}webencodings>0:converters/py-webencodings@${PY_FLAVOR}
NO_ARCH= yes
USES= cpe python
-USE_PYTHON= autoplist distutils
+USE_PYTHON= autoplist pep517
.include <bsd.port.mk>
diff --git a/www/py-html5lib/distinfo b/www/py-html5lib/distinfo
index e49c5e6d5e3b..469e878ab50a 100644
--- a/www/py-html5lib/distinfo
+++ b/www/py-html5lib/distinfo
@@ -1,3 +1,7 @@
-TIMESTAMP = 1681809284
+TIMESTAMP = 1773329494
SHA256 (html5lib-1.1.tar.gz) = b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f
SIZE (html5lib-1.1.tar.gz) = 272215
+SHA256 (b90dafff1bf342d34d539098013d0b9f318c7641.patch) = 293065ee2c2592ff2536c43dc1aabb5e2f0753b0f986d26a3075d4650a1628b7
+SIZE (b90dafff1bf342d34d539098013d0b9f318c7641.patch) = 1465
+SHA256 (2ba10ae9c0852318aee4dfece8cd8b49bfe48682.patch) = 8c020776667b58f2306f16861ae3821c7172b564aeacc99fdfbbcf9170f9c9da
+SIZE (2ba10ae9c0852318aee4dfece8cd8b49bfe48682.patch) = 2238
diff --git a/www/py-html5lib/files/patch-setup.py b/www/py-html5lib/files/patch-setup.py
deleted file mode 100644
index 1dea77f968f7..000000000000
--- a/www/py-html5lib/files/patch-setup.py
+++ /dev/null
@@ -1,13 +0,0 @@
---- setup.py.orig 2020-06-22 23:23:02 UTC
-+++ setup.py
-@@ -90,8 +90,8 @@ with open(join(here, "html5lib", "__init__.py"), "rb")
- if (len(a.targets) == 1 and
- isinstance(a.targets[0], ast.Name) and
- a.targets[0].id == "__version__" and
-- isinstance(a.value, ast.Str)):
-- version = a.value.s
-+ isinstance(a.value, ast.Constant)):
-+ version = a.value
-
- setup(name='html5lib',
- version=version,