From e5a464571e21e42cbad0ac4fa50199a92937cc0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sat, 30 May 2026 05:41:44 +0200 Subject: [PATCH] dev-python/ipython: Bump to 9.14.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- dev-python/ipython/Manifest | 2 + dev-python/ipython/ipython-9.14.0.ebuild | 146 +++++++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 dev-python/ipython/ipython-9.14.0.ebuild diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest index e37baefcb5861..c27d7ce7defb7 100644 --- a/dev-python/ipython/Manifest +++ b/dev-python/ipython/Manifest @@ -1,2 +1,4 @@ DIST ipython-9.13.0.tar.gz 4430549 BLAKE2B e57be94d752a7de861cfe8a86e65e9827894c11f4e01e857973868145862d95ecdebc3f59a40b01fc40bbe738f6a93c364f429fec873833246e930870ab2300c SHA512 64bdeded45d1113180301e6122bde25a957755ef2fc7b8d9a9cd3ae390f7a92da7c77be379fb895647d0faade4832f67ea3bd3d7dbec7580f0b02796696490e2 DIST ipython-9.13.0.tar.gz.provenance 9426 BLAKE2B 89a5b4d09efc361b080dc78eaa1007c237036a3ba8101cfa812fc634c90f8cbe5ddc3cfa8e1018e6be209fc45203c6ee0ad1ec79257dbe0dcc296629b05050b3 SHA512 e72798ac68a3b731c65f36f53c62a0dc642458657c6fc0093b66a5d0a8f8fe1638d6cf47f0b3b3702501f28e6f4791a3799566c8efc224f6c11bfbb03ccfa700 +DIST ipython-9.14.0.tar.gz 4432601 BLAKE2B 996998361fc0503d2ef7e6f8928917495f51ec5cef39807a2302c01dce5c6bcea64d2a5f890531561939429cdde2ae2d956de93d7f4ceed30a12d4caadfb4801 SHA512 2cad3ee542fc9a2bc29c5bd532c6fc448bfabe352078010335c87fcf98d16432cb2d5fb0d00b053b040eeba137ad0d2c04449dc7f50e7314a59067b0faa9d25a +DIST ipython-9.14.0.tar.gz.provenance 9740 BLAKE2B 95418d7244f3c58491752779e9b9012a125004d359e8a1f6f18f89bf12ba6835104147ca7d8d14a02d8303783012b4b1f96e0cd44accb61d2cc0b9a0d5cf09ee SHA512 7d472a1014c1740dc221986bcce831e5632545bad635ed4047cf6225c24eb7b11b762282bea95dcd21391506e581f5f683f803f0abff001f316093843105a346 diff --git a/dev-python/ipython/ipython-9.14.0.ebuild b/dev-python/ipython/ipython-9.14.0.ebuild new file mode 100644 index 0000000000000..8a808999cd824 --- /dev/null +++ b/dev-python/ipython/ipython-9.14.0.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=standalone +PYPI_VERIFY_REPO=https://github.com/ipython/ipython +PYTHON_COMPAT=( python3_{12..14} ) +PYTHON_REQ_USE='readline(+),sqlite,threads(+)' + +inherit distutils-r1 optfeature toolchain-funcs pypi virtualx + +DESCRIPTION="Advanced interactive shell for Python" +HOMEPAGE=" + https://ipython.org/ + https://github.com/ipython/ipython/ + https://pypi.org/project/ipython/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="examples gui notebook nbconvert +smp test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/decorator-5.1.0[${PYTHON_USEDEP}] + >=dev-python/ipython-pygments-lexers-1.0.0[${PYTHON_USEDEP}] + >=dev-python/jedi-0.18.2[${PYTHON_USEDEP}] + >=dev-python/matplotlib-inline-0.1.6[${PYTHON_USEDEP}] + >=dev-python/pexpect-4.7[${PYTHON_USEDEP}] + >=dev-python/prompt-toolkit-3.0.41[${PYTHON_USEDEP}] + =dev-python/psutil-7[${PYTHON_USEDEP}] + >=dev-python/pygments-2.14.0[${PYTHON_USEDEP}] + >=dev-python/stack-data-0.6.0[${PYTHON_USEDEP}] + >=dev-python/traitlets-5.13.0[${PYTHON_USEDEP}] +" + +BDEPEND=" + >=dev-python/setuptools-80[${PYTHON_USEDEP}] + test? ( + app-text/dvipng[truetype] + >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}] + >=dev-python/matplotlib-3.9[${PYTHON_USEDEP}] + dev-python/nbformat[${PYTHON_USEDEP}] + >=dev-python/numpy-2.0[${PYTHON_USEDEP}] + dev-python/matplotlib-inline[${PYTHON_USEDEP}] + >=dev-python/packaging-23.0.0[${PYTHON_USEDEP}] + dev-python/pickleshare[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + >=dev-python/testpath-0.2[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-asyncio ) +distutils_enable_tests pytest + +RDEPEND+=" + nbconvert? ( + dev-python/nbconvert[${PYTHON_USEDEP}] + ) +" +PDEPEND=" + $(python_gen_cond_dep ' + gui? ( dev-python/qtconsole[${PYTHON_USEDEP}] ) + ' 'python*') + $(python_gen_cond_dep ' + notebook? ( + dev-python/notebook[${PYTHON_USEDEP}] + dev-python/ipywidgets[${PYTHON_USEDEP}] + dev-python/widgetsnbextension[${PYTHON_USEDEP}] + ) + ' 3.{12..14}) + smp? ( + >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}] + >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}] + ) +" + +python_prepare_all() { + # Rename the test directory to reduce sys.path pollution + # https://github.com/ipython/ipython/issues/12892 + mv IPython/extensions/{,ipython_}tests || die + + distutils-r1_python_prepare_all +} + +src_test() { + virtx distutils-r1_src_test +} + +python_test() { + local -x IPYTHON_TESTING_TIMEOUT_SCALE=20 + local EPYTEST_DESELECT=() + + if [[ $(tc-get-ptr-size) == 4 ]] ; then + EPYTEST_DESELECT+=( + # https://github.com/ipython/ipython/issues/15107 + IPython/extensions/ipython_tests/test_deduperreload.py::DecoratorPatchingSuite::test_function_decorator_from_other_module + IPython/extensions/ipython_tests/test_deduperreload.py::DecoratorPatchingSuite::test_function_decorators + IPython/extensions/tests/test_deduperreload.py::DecoratorPatchingSuite::test_method_decorator + ) + fi + + # nonfatal implied by virtx + nonfatal epytest || die "Tests failed on ${EPYTHON}" +} + +python_install() { + distutils-r1_python_install + + # Create ipythonX.Y symlinks. + # TODO: + # 1. do we want them for pypy? + # 2. handle it in the eclass instead (use _python_ln_rel). + # With pypy not an option the dosym becomes unconditional + # TODO2: figure out what TODO meant. + dosym ../lib/python-exec/${EPYTHON}/ipython \ + /usr/bin/ipython${EPYTHON#python} +} + +python_install_all() { + distutils-r1_python_install_all + + if use examples; then + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + fi +} + +pkg_postinst() { + optfeature "code formatting" dev-python/black + optfeature "sympyprinting" dev-python/sympy + optfeature "cythonmagic" dev-python/cython + optfeature "%lprun magic command" dev-python/line-profiler + optfeature "%matplotlib magic command" dev-python/matplotlib-inline + + if use nbconvert; then + if ! has_version virtual/pandoc ; then + einfo "Node.js will be used to convert notebooks to other formats" + einfo "like HTML. Support for that is still experimental. If you" + einfo "encounter any problems, please use app-text/pandoc instead." + fi + fi +}