diff options
author | Cédric Krier <cedk@gentoo.org> | 2024-08-24 08:19:38 +0200 |
---|---|---|
committer | Cédric Krier <cedk@gentoo.org> | 2024-08-24 08:19:38 +0200 |
commit | 81549b33168154d1014a120bc28a2c7951bf1058 (patch) | |
tree | 7f19c8025a1c73611e92381f0837a546abd452ab /dev-vcs | |
parent | xfce-base/libxfce4windowing: Bump to 4.19.4 (diff) | |
download | gentoo-81549b33168154d1014a120bc28a2c7951bf1058.tar.gz gentoo-81549b33168154d1014a120bc28a2c7951bf1058.tar.bz2 gentoo-81549b33168154d1014a120bc28a2c7951bf1058.zip |
dev-vcs/mercurial: apply demand import patch for python 3.12.4
Closes: https://bugs.gentoo.org/938128
Signed-off-by: Cédric Krier <cedk@gentoo.org>
Diffstat (limited to 'dev-vcs')
-rw-r--r-- | dev-vcs/mercurial/files/python3.12.patch | 51 | ||||
-rw-r--r-- | dev-vcs/mercurial/mercurial-6.5.3.ebuild | 2 | ||||
-rw-r--r-- | dev-vcs/mercurial/mercurial-6.6.2.ebuild | 2 | ||||
-rw-r--r-- | dev-vcs/mercurial/mercurial-6.7.4.ebuild | 2 |
4 files changed, 57 insertions, 0 deletions
diff --git a/dev-vcs/mercurial/files/python3.12.patch b/dev-vcs/mercurial/files/python3.12.patch new file mode 100644 index 000000000000..ad0e5772739d --- /dev/null +++ b/dev-vcs/mercurial/files/python3.12.patch @@ -0,0 +1,51 @@ +# HG changeset patch +# User Julien Cristau <jcristau@debian.org> +# Date 1721983948 -7200 +# Fri Jul 26 10:52:28 2024 +0200 +# Branch stable +# Node ID 63ede7a43a3731fecc7e5b535144c6bd59911284 +# Parent e6508d1e0b47fb5437a36e1f5fe00dc032991b9b +demandimport: don't delay threading import + +A recent cpython change breaks demandimport by importing threading +locally in importlib.util.LazyLoader.exec_module; add it (plus warnings +and _weakrefset, which are imported by threading) to demandimport's +ignore list. + +``` +Traceback (most recent call last): + File "/usr/bin/hg", line 57, in <module> + from mercurial import dispatch + File "<frozen importlib._bootstrap>", line 1360, in _find_and_load + File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked + File "<frozen importlib._bootstrap>", line 935, in _load_unlocked + File "/usr/lib/python3/dist-packages/hgdemandimport/demandimportpy3.py", line 52, in exec_module + super().exec_module(module) + File "<frozen importlib.util>", line 257, in exec_module + File "<frozen importlib._bootstrap>", line 1360, in _find_and_load + File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked + File "<frozen importlib._bootstrap>", line 935, in _load_unlocked + File "/usr/lib/python3/dist-packages/hgdemandimport/demandimportpy3.py", line 52, in exec_module + super().exec_module(module) + File "<frozen importlib.util>", line 267, in exec_module +AttributeError: partially initialized module 'threading' has no attribute 'RLock' (most likely due to a circular import) +``` + +Ref: https://github.com/python/cpython/issues/117983 + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1076449 + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1076747 + +diff --git a/hgdemandimport/__init__.py b/hgdemandimport/__init__.py +--- a/hgdemandimport/__init__.py ++++ b/hgdemandimport/__init__.py +@@ -58,6 +58,10 @@ + # setuptools uses this hack to inject it's own distutils at import time + 'setuptools', + '_distutils_hack.override', ++ # threading is locally imported by importlib.util.LazyLoader.exec_module ++ '_weakrefset', ++ 'warnings', ++ 'threading', + } + + _pypy = '__pypy__' in sys.builtin_module_names diff --git a/dev-vcs/mercurial/mercurial-6.5.3.ebuild b/dev-vcs/mercurial/mercurial-6.5.3.ebuild index 8c1137cfcd01..be2e9ed6132c 100644 --- a/dev-vcs/mercurial/mercurial-6.5.3.ebuild +++ b/dev-vcs/mercurial/mercurial-6.5.3.ebuild @@ -192,6 +192,8 @@ SITEFILE="70${PN}-gentoo.el" RESTRICT="!test? ( test )" +PATCHES=( "${FILESDIR}/python3.12.patch" ) + src_unpack() { default_src_unpack if use rust; then diff --git a/dev-vcs/mercurial/mercurial-6.6.2.ebuild b/dev-vcs/mercurial/mercurial-6.6.2.ebuild index ed79e2235c03..f9b1e2544f31 100644 --- a/dev-vcs/mercurial/mercurial-6.6.2.ebuild +++ b/dev-vcs/mercurial/mercurial-6.6.2.ebuild @@ -202,6 +202,8 @@ SITEFILE="70${PN}-gentoo.el" RESTRICT="!test? ( test )" +PATCHES=( "${FILESDIR}/python3.12.patch" ) + src_unpack() { default_src_unpack if use rust; then diff --git a/dev-vcs/mercurial/mercurial-6.7.4.ebuild b/dev-vcs/mercurial/mercurial-6.7.4.ebuild index 6207efb0c49b..ffb9e0d727d7 100644 --- a/dev-vcs/mercurial/mercurial-6.7.4.ebuild +++ b/dev-vcs/mercurial/mercurial-6.7.4.ebuild @@ -213,6 +213,8 @@ SITEFILE="70${PN}-gentoo.el" RESTRICT="!test? ( test )" +PATCHES=( "${FILESDIR}/python3.12.patch" ) + src_unpack() { default_src_unpack if use rust; then |