commit: ac8d6af4e980bbd8bf1f23b633acb660bf159b6a Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Fri Mar 6 03:48:39 2026 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Fri Mar 6 04:31:19 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac8d6af4
dev-python/ipython: Bump to 9.11.0 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> dev-python/ipython/Manifest | 2 + dev-python/ipython/ipython-9.11.0.ebuild | 157 +++++++++++++++++++++++++++++++ 2 files changed, 159 insertions(+) diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest index 1ee0a5f6546f..19ab5e939c99 100644 --- a/dev-python/ipython/Manifest +++ b/dev-python/ipython/Manifest @@ -1,4 +1,6 @@ DIST ipython-9.10.0.tar.gz 4426526 BLAKE2B 0b7e4f370bce45fe9703ae27872217e4a04cca89880863e61499c7132a42c4b739c54202fead6e76c4550408f3555c5b677f4d2dadc93395efbeef7418b3ae3c SHA512 f0f6592aa7984cbf77b82630ec6c9e5d269e6c2486dc885de4640e5d3f60a4d39fb8660a7d7e93efc241ad213a70667322d05a0d86468d22b701698a3e2fb03a DIST ipython-9.10.0.tar.gz.provenance 9575 BLAKE2B 2041c8b06c8e896ccb6e6c0fcea9c3708229b35472dec88f3d00b4445095b5e804d48e88357608ea951ae795b37e2007e0f51aaf26b66ef7923dd6ead6fe0935 SHA512 ab56e0f6897fdf00c2d18e630a48ddaec3caeb4670690c8c7607d4384e42fe841e37d644cb68a7c9875620bf40c23590d41409fc92eda0e1ec415b61c69b6435 +DIST ipython-9.11.0.tar.gz 4427354 BLAKE2B 37d8bc4ac85becce0d1ef1da42bc4cf4fb021b6fb200fe9c735d408e9b044371f020af4dd915546196b3baef55d6eba81267fd35f3914b2e16b115b0d64a1394 SHA512 9ac8f20b7f644c8c0c87673da4e549a54721a0204ab73d1075315d5d222323daf4b3e627e3fafef60f3274cf6e5edbc33e7c7bb1c593af477abad825b2cfe2fe +DIST ipython-9.11.0.tar.gz.provenance 9388 BLAKE2B 1e2d8a8d1af398f252508959a622eba27ab4d4b88c31d359c9734aeaf750b180e0a7d1ca541047cdad16c4f909bed2969dfee8536ba315c113bb9cdeb92116a0 SHA512 a264c29635b73430b869fd83a080958ad61bc30bc989ef9d109f2a5217dedbec579f735567daac23b853c13b2a5691872cccebf1169c31d4586390c3458b2b84 DIST ipython-9.9.0.tar.gz 4425043 BLAKE2B 8bd87dbad423722ff878875651fa263be2bae2fcabafb03a9e7e7125c2d350ead453187f370c978067509a7433a007757dc0b79d18f376bbe683bc9b9dc3746b SHA512 f381764a71f73b2b565996565d26d43c587c9cd21e9286c317950b3ee3a41fb9f2fc79022e5c99560f39e90e7bcfb166f54cfbe0113f0b36523578cf6aaaca8b DIST ipython-9.9.0.tar.gz.provenance 9253 BLAKE2B 6d989e199d4f6afb9fa7b6f3d3c249cfdc7c86f289a907808e5b2f13a723a43c28f1284f582c7fde2c1f1e9279c9a6dbf9caacae994e9d580d4e8a90a7bbe73c SHA512 70bf51ed1a544c867e21711af0e5602d33e1d6505d9ef3295dcdb5253ad3d456f49cfb2e9de2d9a92117a52642f2cf26ea9eca790f67f0824e9d7a0f8175a845 diff --git a/dev-python/ipython/ipython-9.11.0.ebuild b/dev-python/ipython/ipython-9.11.0.ebuild new file mode 100644 index 000000000000..7fa07c63ca5c --- /dev/null +++ b/dev-python/ipython/ipython-9.11.0.ebuild @@ -0,0 +1,157 @@ +# 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/prompt-toolkit-3.1[${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=() + + case ${EPYTHON} in + pypy3*) + EPYTEST_DESELECT+=( + # https://github.com/ipython/ipython/issues/14244 + tests/test_display.py::TestAudioDataWithoutNumpy + # minor exception message mismatch + # https://github.com/ipython/ipython/issues/14976 + tests/test_ultratb.py::ExceptionMessagePreferenceTest::test_jsondecodeerror_message + ) + ;; + esac + + 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 +}
