summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabi Falk <gabifalk@gmx.com>2024-12-17 19:00:00 +0000
committerSam James <sam@gentoo.org>2024-12-19 23:58:59 +0000
commit404bee8d79dc272a718132e5c138a8be2bab968d (patch)
treedc5160c6e4265dfa371842e922241fb934958e41 /dev-python/ipython
parentdev-build/just: new package, add 1.38.0 (diff)
downloadgentoo-404bee8d79dc272a718132e5c138a8be2bab968d.tar.gz
gentoo-404bee8d79dc272a718132e5c138a8be2bab968d.tar.bz2
gentoo-404bee8d79dc272a718132e5c138a8be2bab968d.zip
dev-python/ipython: Backport upstream fix for python 3.13 regression
The regression was detected by ipython's own testsuite. This part of the IPython code is expected to break again with python 3.14, because the curframe_locals attribute was removed in the PR cpython#124369. However, there are plans to restore this attribute for backward compatibility in PR cpython#125951 before the CPython 3.14 release. Url: https://github.com/ipython/ipython/pull/14598 Url: https://github.com/ipython/ipython/commit/c1e945b5bc8fb673109cf32c4f238f6d5e0f5149 Url: https://github.com/python/cpython/pull/124369 Url: https://github.com/python/cpython/pull/125951 Url: https://github.com/ipython/ipython/issues/14620 Closes: https://bugs.gentoo.org/946568 Signed-off-by: Gabi Falk <gabifalk@gmx.com> Closes: https://github.com/gentoo/gentoo/pull/39746 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-python/ipython')
-rw-r--r--dev-python/ipython/files/ipython-8.30.0-python3.13-debugger-pdb-curframe.patch30
-rw-r--r--dev-python/ipython/ipython-8.30.0-r1.ebuild (renamed from dev-python/ipython/ipython-8.30.0.ebuild)2
2 files changed, 32 insertions, 0 deletions
diff --git a/dev-python/ipython/files/ipython-8.30.0-python3.13-debugger-pdb-curframe.patch b/dev-python/ipython/files/ipython-8.30.0-python3.13-debugger-pdb-curframe.patch
new file mode 100644
index 000000000000..8e44fd3d0261
--- /dev/null
+++ b/dev-python/ipython/files/ipython-8.30.0-python3.13-debugger-pdb-curframe.patch
@@ -0,0 +1,30 @@
+FAILED IPython/core/tests/test_run.py::TestMagicRunPass::test_run_debug_twice - AttributeError: 'Pdb' object has no attribute 'curframe'. Did you mean: 'botframe'?
+FAILED IPython/core/tests/test_run.py::TestMagicRunPass::test_run_debug_twice_with_breakpoint - AttributeError: 'Pdb' object has no attribute 'curframe'. Did you mean: 'botframe'?
+https://bugs.gentoo.org/946568
+https://github.com/ipython/ipython/pull/14598
+https://github.com/ipython/ipython/commit/c1e945b5bc8fb673109cf32c4f238f6d5e0f5149.patch
+
+From c1e945b5bc8fb673109cf32c4f238f6d5e0f5149 Mon Sep 17 00:00:00 2001
+From: M Bussonnier <bussonniermatthias@gmail.com>
+Date: Sun, 8 Dec 2024 11:37:11 +0100
+Subject: [PATCH] Fix pdb issues in Python 3.13.1
+
+For some reason it is not always set, it was/is a bug in IPython to not
+check.
+---
+ IPython/core/debugger.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/IPython/core/debugger.py b/IPython/core/debugger.py
+index 1f0d7b2fba..76c42e0230 100644
+--- a/IPython/core/debugger.py
++++ b/IPython/core/debugger.py
+@@ -550,7 +550,7 @@ def _get_frame_locals(self, frame):
+ So if frame is self.current_frame we instead return self.curframe_locals
+
+ """
+- if frame is self.curframe:
++ if frame is getattr(self, "curframe", None):
+ return self.curframe_locals
+ else:
+ return frame.f_locals
diff --git a/dev-python/ipython/ipython-8.30.0.ebuild b/dev-python/ipython/ipython-8.30.0-r1.ebuild
index b67d14eb4763..8cae90959a59 100644
--- a/dev-python/ipython/ipython-8.30.0.ebuild
+++ b/dev-python/ipython/ipython-8.30.0-r1.ebuild
@@ -81,6 +81,8 @@ PDEPEND="
)
"
+PATCHES=( "${FILESDIR}"/${P}-python3.13-debugger-pdb-curframe.patch ) # bug #946568
+
python_prepare_all() {
# Rename the test directory to reduce sys.path pollution
# https://github.com/ipython/ipython/issues/12892