summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-05-25 04:07:48 +0100
committerSam James <sam@gentoo.org>2023-05-25 04:14:22 +0100
commit6e26f683b520a7dc58601ec1cffc4f2655ed34dc (patch)
tree2cd9172045035882ea69aca7b29b9aedd44ec9ed /dev-python/lxml
parentdev-python/cython: enable py3.12, use PYTHON_TESTED logic from 3.0.0_beta3 (diff)
downloadgentoo-6e26f683b520a7dc58601ec1cffc4f2655ed34dc.tar.gz
gentoo-6e26f683b520a7dc58601ec1cffc4f2655ed34dc.tar.bz2
gentoo-6e26f683b520a7dc58601ec1cffc4f2655ed34dc.zip
dev-python/lxml: enable py3.12
Same failures as with other Pythons (new libxslt/libxml2). Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-python/lxml')
-rw-r--r--dev-python/lxml/files/lxml-4.9.2-py3.12-drop-deprecated-imp.patch49
-rw-r--r--dev-python/lxml/lxml-4.9.2.ebuild3
2 files changed, 51 insertions, 1 deletions
diff --git a/dev-python/lxml/files/lxml-4.9.2-py3.12-drop-deprecated-imp.patch b/dev-python/lxml/files/lxml-4.9.2-py3.12-drop-deprecated-imp.patch
new file mode 100644
index 000000000000..a59a60e74822
--- /dev/null
+++ b/dev-python/lxml/files/lxml-4.9.2-py3.12-drop-deprecated-imp.patch
@@ -0,0 +1,49 @@
+https://github.com/lxml/lxml/commit/07db761f9f027d1814a43686cda6fca26e37a931
+https://github.com/lxml/lxml/commit/c6b7e621e4696c02bf8f6ea423ffbbf2109748ab
+
+From 07db761f9f027d1814a43686cda6fca26e37a931 Mon Sep 17 00:00:00 2001
+From: Stefan Behnel <stefan_ml@behnel.de>
+Date: Thu, 11 May 2023 10:29:02 +0200
+Subject: [PATCH] Avoid using the deprecated "imp" module.
+
+Closes https://bugs.launchpad.net/lxml/+bug/2018137
+--- a/src/lxml/html/tests/test_html5parser.py
++++ b/src/lxml/html/tests/test_html5parser.py
+@@ -1,5 +1,4 @@
+ import os
+-import imp
+ try:
+ from StringIO import StringIO
+ except ImportError: # python 3
+@@ -45,7 +44,10 @@ def find_module(self, fullname, path=None):
+ return None
+
+ def load_module(self, fullname):
+- mod = sys.modules.setdefault(fullname, imp.new_module(fullname))
++ fake_module = object()
++ fake_module.__qualname__ = fullname
++ fake_module.__name__ = fullname.rsplit('.', 1)[-1]
++ mod = sys.modules.setdefault(fullname, fake_module)
+ mod.__file__, mod.__loader__, mod.__path__ = "<dummy>", self, []
+ mod.__dict__.update(self.mocks[fullname])
+ return mod
+
+From c6b7e621e4696c02bf8f6ea423ffbbf2109748ab Mon Sep 17 00:00:00 2001
+From: Stefan Behnel <stefan_ml@behnel.de>
+Date: Thu, 11 May 2023 10:30:15 +0200
+Subject: [PATCH] Avoid using the deprecated "imp" module.
+
+Closes https://bugs.launchpad.net/lxml/+bug/2018137
+--- a/src/lxml/html/tests/test_html5parser.py
++++ b/src/lxml/html/tests/test_html5parser.py
+@@ -44,7 +44,8 @@ def find_module(self, fullname, path=None):
+ return None
+
+ def load_module(self, fullname):
+- fake_module = object()
++ class Cls: pass
++ fake_module = Cls()
+ fake_module.__qualname__ = fullname
+ fake_module.__name__ = fullname.rsplit('.', 1)[-1]
+ mod = sys.modules.setdefault(fullname, fake_module)
+
diff --git a/dev-python/lxml/lxml-4.9.2.ebuild b/dev-python/lxml/lxml-4.9.2.ebuild
index b7b3efc9de22..aed3280a3b2c 100644
--- a/dev-python/lxml/lxml-4.9.2.ebuild
+++ b/dev-python/lxml/lxml-4.9.2.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1 optfeature toolchain-funcs
@@ -54,6 +54,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-4.6.0-tests-pypy.patch
+ "${FILESDIR}"/${P}-py3.12-drop-deprecated-imp.patch
)
python_check_deps() {