* [gentoo-commits] repo/gentoo:master commit in: dev-python/html5lib/files/, dev-python/html5lib/
@ 2016-01-18 8:44 Justin Lecher
0 siblings, 0 replies; 2+ messages in thread
From: Justin Lecher @ 2016-01-18 8:44 UTC (permalink / raw
To: gentoo-commits
commit: 57cb992a751b02459dbf70da77a0ffa0b07d22dc
Author: Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 18 08:39:00 2016 +0000
Commit: Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Mon Jan 18 08:44:48 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57cb992a
dev-python/html5lib: Backport fix for lxml-3.5.0
Package-Manager: portage-2.2.26
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>
.../html5lib-0.9999999-lxml-3.5.0-backport.patch | 117 +++++++++++++++++++++
dev-python/html5lib/html5lib-0.9999999-r1.ebuild | 32 ++++++
2 files changed, 149 insertions(+)
diff --git a/dev-python/html5lib/files/html5lib-0.9999999-lxml-3.5.0-backport.patch b/dev-python/html5lib/files/html5lib-0.9999999-lxml-3.5.0-backport.patch
new file mode 100644
index 0000000..fecfab9
--- /dev/null
+++ b/dev-python/html5lib/files/html5lib-0.9999999-lxml-3.5.0-backport.patch
@@ -0,0 +1,117 @@
+From 46046c0f7125911ff8205f09a7574573bb953105 Mon Sep 17 00:00:00 2001
+From: Geoffrey Sneddon <geoffers@gmail.com>
+Date: Mon, 23 Nov 2015 15:17:07 +0000
+Subject: [PATCH 1/3] Make lxml tree-builder coerce comments to work with lxml
+ 3.5.
+
+---
+ html5lib/ihatexml.py | 2 ++
+ html5lib/treebuilders/etree_lxml.py | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/html5lib/ihatexml.py b/html5lib/ihatexml.py
+index 0fc7930..b5b2e98 100644
+--- a/html5lib/ihatexml.py
++++ b/html5lib/ihatexml.py
+@@ -225,6 +225,8 @@ def coerceComment(self, data):
+ while "--" in data:
+ warnings.warn("Comments cannot contain adjacent dashes", DataLossWarning)
+ data = data.replace("--", "- -")
++ if data.endswith("-"):
++ data += " "
+ return data
+
+ def coerceCharacters(self, data):
+diff --git a/html5lib/treebuilders/etree_lxml.py b/html5lib/treebuilders/etree_lxml.py
+index 35d08ef..17007e3 100644
+--- a/html5lib/treebuilders/etree_lxml.py
++++ b/html5lib/treebuilders/etree_lxml.py
+@@ -189,7 +189,7 @@ class TreeBuilder(_base.TreeBuilder):
+
+ def __init__(self, namespaceHTMLElements, fullTree=False):
+ builder = etree_builders.getETreeModule(etree, fullTree=fullTree)
+- infosetFilter = self.infosetFilter = ihatexml.InfosetFilter()
++ infosetFilter = self.infosetFilter = ihatexml.InfosetFilter(preventDoubleDashComments=True)
+ self.namespaceHTMLElements = namespaceHTMLElements
+
+ class Attributes(dict):
+
+From 1c22e1ce93dd4acc81a66cfa03cf9720fbd741c7 Mon Sep 17 00:00:00 2001
+From: Geoffrey Sneddon <geoffers@gmail.com>
+Date: Mon, 23 Nov 2015 15:35:21 +0000
+Subject: [PATCH 2/3] fixup! Make lxml tree-builder coerce comments to work
+ with lxml 3.5.
+
+---
+ html5lib/ihatexml.py | 1 +
+ html5lib/treebuilders/etree_lxml.py | 7 ++++---
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/html5lib/ihatexml.py b/html5lib/ihatexml.py
+index b5b2e98..5a81a12 100644
+--- a/html5lib/ihatexml.py
++++ b/html5lib/ihatexml.py
+@@ -226,6 +226,7 @@ def coerceComment(self, data):
+ warnings.warn("Comments cannot contain adjacent dashes", DataLossWarning)
+ data = data.replace("--", "- -")
+ if data.endswith("-"):
++ warnings.warn("Comments cannot contain end in a dash", DataLossWarning)
+ data += " "
+ return data
+
+diff --git a/html5lib/treebuilders/etree_lxml.py b/html5lib/treebuilders/etree_lxml.py
+index 17007e3..c6c981f 100644
+--- a/html5lib/treebuilders/etree_lxml.py
++++ b/html5lib/treebuilders/etree_lxml.py
+@@ -54,7 +54,7 @@ def _getChildNodes(self):
+ def testSerializer(element):
+ rv = []
+ finalText = None
+- infosetFilter = ihatexml.InfosetFilter()
++ infosetFilter = ihatexml.InfosetFilter(preventDoubleDashComments=True)
+
+ def serializeElement(element, indent=0):
+ if not hasattr(element, "tag"):
+@@ -257,7 +257,7 @@ def _getData(self):
+ data = property(_getData, _setData)
+
+ self.elementClass = Element
+- self.commentClass = builder.Comment
++ self.commentClass = Comment
+ # self.fragmentClass = builder.DocumentFragment
+ _base.TreeBuilder.__init__(self, namespaceHTMLElements)
+
+@@ -344,7 +344,8 @@ def insertRoot(self, token):
+
+ # Append the initial comments:
+ for comment_token in self.initial_comments:
+- root.addprevious(etree.Comment(comment_token["data"]))
++ comment = self.commentClass(comment_token["data"])
++ root.addprevious(comment._element)
+
+ # Create the root document and add the ElementTree to it
+ self.document = self.documentClass()
+
+From 235a6d7ac7e0a3e2b431766e051094c2d3110ba3 Mon Sep 17 00:00:00 2001
+From: Geoffrey Sneddon <geoffers@gmail.com>
+Date: Mon, 23 Nov 2015 15:42:12 +0000
+Subject: [PATCH 3/3] fixup! Make lxml tree-builder coerce comments to work
+ with lxml 3.5.
+
+---
+ html5lib/ihatexml.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/html5lib/ihatexml.py b/html5lib/ihatexml.py
+index 5a81a12..5da5d93 100644
+--- a/html5lib/ihatexml.py
++++ b/html5lib/ihatexml.py
+@@ -226,7 +226,7 @@ def coerceComment(self, data):
+ warnings.warn("Comments cannot contain adjacent dashes", DataLossWarning)
+ data = data.replace("--", "- -")
+ if data.endswith("-"):
+- warnings.warn("Comments cannot contain end in a dash", DataLossWarning)
++ warnings.warn("Comments cannot end in a dash", DataLossWarning)
+ data += " "
+ return data
+
diff --git a/dev-python/html5lib/html5lib-0.9999999-r1.ebuild b/dev-python/html5lib/html5lib-0.9999999-r1.ebuild
new file mode 100644
index 0000000..f55b65f
--- /dev/null
+++ b/dev-python/html5lib/html5lib-0.9999999-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{3,4,5} pypy pypy3 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="HTML parser based on the HTML5 specification"
+HOMEPAGE="https://github.com/html5lib/html5lib-python/ https://html5lib.readthedocs.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-lxml-3.5.0-backport.patch
+)
+
+python_test() {
+ nosetests --verbosity=3 || die "Tests fail with ${EPYTHON}"
+}
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/html5lib/files/, dev-python/html5lib/
@ 2024-01-24 16:51 Michał Górny
0 siblings, 0 replies; 2+ messages in thread
From: Michał Górny @ 2024-01-24 16:51 UTC (permalink / raw
To: gentoo-commits
commit: bf771b119c73f49614f9d1aedf1cc5480b79c303
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 24 16:47:14 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jan 24 16:51:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf771b11
dev-python/html5lib: Backport pytest-7.4 fix
Closes: https://bugs.gentoo.org/910475
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
.../html5lib/files/html5lib-1.1-pytest6.patch | 66 ++++++++++------------
dev-python/html5lib/html5lib-1.1-r1.ebuild | 7 ++-
2 files changed, 37 insertions(+), 36 deletions(-)
diff --git a/dev-python/html5lib/files/html5lib-1.1-pytest6.patch b/dev-python/html5lib/files/html5lib-1.1-pytest6.patch
index a511b40abeaa..d8df5f2cf2f6 100644
--- a/dev-python/html5lib/files/html5lib-1.1-pytest6.patch
+++ b/dev-python/html5lib/files/html5lib-1.1-pytest6.patch
@@ -1,41 +1,7 @@
# https://github.com/html5lib/html5lib-python/pull/506
# https://bugs.gentoo.org/754144
-From e6bd99e8f2497194ffd0a06c6954ebb28d7526bb Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
-Date: Sat, 8 Aug 2020 13:39:22 +0200
-Subject: [PATCH] Use Node.from_parent() constructor to support pytest 6
-Add a wrapper not to break pytest 4 (needed for Python 2 support).
-
- ============================= test session starts ==============================
- platform linux -- Python 3.9.0b5, pytest-6.0.1, py-1.9.0, pluggy-0.13.1
- rootdir: /builddir/build/BUILD/html5lib-1.1, configfile: pytest.ini
- plugins: expect-1.1.0
- collected 0 items / 1 error
-
- ==================================== ERRORS ====================================
- ________________________ ERROR collecting test session _________________________
- /usr/lib/python3.9/site-packages/pluggy/hooks.py:286: in __call__
- return self._hookexec(self, self.get_hookimpls(), kwargs)
- /usr/lib/python3.9/site-packages/pluggy/manager.py:93: in _hookexec
- return self._inner_hookexec(hook, methods, kwargs)
- /usr/lib/python3.9/site-packages/pluggy/manager.py:84: in <lambda>
- self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
- html5lib/tests/conftest.py:105: in pytest_collect_file
- return TokenizerFile(path, parent)
- /usr/lib/python3.9/site-packages/_pytest/nodes.py:95: in __call__
- warnings.warn(NODE_USE_FROM_PARENT.format(name=self.__name__), stacklevel=2)
- E pytest.PytestDeprecationWarning: Direct construction of TokenizerFile has been deprecated, please use TokenizerFile.from_parent.
- E See https://docs.pytest.org/en/stable/deprecations.html#node-construction-changed-to-node-from-parent for more details.
-
-Fixes https://github.com/html5lib/html5lib-python/issues/505
----
- html5lib/tests/conftest.py | 15 ++++++++++++---
- html5lib/tests/sanitizer.py | 2 +-
- html5lib/tests/tokenizer.py | 10 +++++-----
- html5lib/tests/tree_construction.py | 20 ++++++++++----------
- requirements-test.txt | 2 +-
- 5 files changed, 29 insertions(+), 20 deletions(-)
+and part of 4a87368b71090f1432df6302f178c4babfcec93f
diff --git a/html5lib/tests/conftest.py b/html5lib/tests/conftest.py
index dad167c5..fffeb50c 100644
@@ -151,3 +117,33 @@ index 1ef6e725..fb0657bf 100644
item.add_marker(pytest.mark.treewalker)
yield item
+diff --git a/html5lib/tests/tokenizer.py b/html5lib/tests/tokenizer.py
+index cc9897a..b49d2e6 100644
+--- a/html5lib/tests/tokenizer.py
++++ b/html5lib/tests/tokenizer.py
+@@ -246,7 +246,9 @@ class TokenizerTest(pytest.Item):
+ def repr_failure(self, excinfo):
+ traceback = excinfo.traceback
+ ntraceback = traceback.cut(path=__file__)
+- excinfo.traceback = ntraceback.filter()
++ pytest_ver = getattr(pytest, "version_tuple", ())
++ filter_args = (excinfo,) if pytest_ver >= (7, 4, 0) else ()
++ excinfo.traceback = ntraceback.filter(*filter_args)
+
+ return excinfo.getrepr(funcargs=True,
+ showlocals=False,
+diff --git a/html5lib/tests/tree_construction.py b/html5lib/tests/tree_construction.py
+index fb0657b..363b48c 100644
+--- a/html5lib/tests/tree_construction.py
++++ b/html5lib/tests/tree_construction.py
+@@ -135,7 +135,9 @@ class ParserTest(pytest.Item):
+ def repr_failure(self, excinfo):
+ traceback = excinfo.traceback
+ ntraceback = traceback.cut(path=__file__)
+- excinfo.traceback = ntraceback.filter()
++ pytest_ver = getattr(pytest, "version_tuple", ())
++ filter_args = (excinfo,) if pytest_ver >= (7, 4, 0) else ()
++ excinfo.traceback = ntraceback.filter(*filter_args)
+
+ return excinfo.getrepr(funcargs=True,
+ showlocals=False,
diff --git a/dev-python/html5lib/html5lib-1.1-r1.ebuild b/dev-python/html5lib/html5lib-1.1-r1.ebuild
index 7aaf19a606af..85d2d88a1104 100644
--- a/dev-python/html5lib/html5lib-1.1-r1.ebuild
+++ b/dev-python/html5lib/html5lib-1.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -36,3 +36,8 @@ BDEPEND="
"
distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_expect
+}
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-01-24 16:51 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-24 16:51 [gentoo-commits] repo/gentoo:master commit in: dev-python/html5lib/files/, dev-python/html5lib/ Michał Górny
-- strict thread matches above, loose matches on Subject: below --
2016-01-18 8:44 Justin Lecher
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox