summaryrefslogtreecommitdiff
path: root/dev-python/ipython
diff options
context:
space:
mode:
authormirror@stealer.net <mirror@stealer.net>2026-03-28 06:00:20 +0000
committermirror@stealer.net <mirror@stealer.net>2026-03-28 06:00:20 +0000
commitb4ad54ef630978c83b1517dfdec7a66567717308 (patch)
tree5da09fd971e43652a26a603796eec32891933b0f /dev-python/ipython
parent98cb9b94e366edd592fbc05521f3d7428af377b4 (diff)
2026-03-28 05:37:57+00:00
Diffstat (limited to 'dev-python/ipython')
-rw-r--r--dev-python/ipython/Manifest3
-rw-r--r--dev-python/ipython/ipython-9.12.0.ebuild157
2 files changed, 160 insertions, 0 deletions
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
index 2f3eae75af..b45f4a0d41 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -2,9 +2,12 @@ DIST ipython-9.10.0.tar.gz 4426526 BLAKE2B 0b7e4f370bce45fe9703ae27872217e4a04cc
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.12.0.tar.gz 4428879 BLAKE2B 288a8b0b3c10c8b6bcc39378c830845611da223ad452114b5c3a8b6c5152007689725897aa852e7e3f11af43113315303a6859e3a8ac29a125b62a712cff9549 SHA512 142d5f994df287f09904ba1582c75336dd375947b92c6b39eeeb41578e6b1c1b8aaa06f36972dda9cf1435be29cc96feb8ed5a6ba0baf4fc14b21525ff04efcc
+DIST ipython-9.12.0.tar.gz.provenance 9426 BLAKE2B 2b46d1c0724fa300a77f9907fbc9d7aeef058e16532e27394d411c5cdcc328cdb9b19502dceee7e27f9cc008ec84ea2a4aa89e3ed186cca796147eef311705f4 SHA512 b999d9f8054eaaa760cfe0b0dd90ff17697dc2ecda7e7685c008fd0826448b56720e76f89029d56784117ebc8c9c4034463c3af43a26dbc396f7309d4e080fe1
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
EBUILD ipython-9.10.0.ebuild 4655 BLAKE2B 65e405c66e4fe8754fe459d6ab2acc0140355cd00c856c40d3c36af6c19fea4619de252f1144a4a47c9e20f3ce186eb1e2fad77d32e0e7df085181b216e0e1c9 SHA512 3289f506a7c4d3ebde5a70a3aa5d9ee80d7dc564d9dce4588cb4796736b24ae0b5bbff6b96fa813664d935245bd5d5e1976ebbf71639f0937a16940b20b79671
EBUILD ipython-9.11.0.ebuild 4591 BLAKE2B 86296765bdd6124cf26050c1f7643cab88f9fa0b40b024c4dcac8e8f32cacd85272ec53e624dc717c85481da7a4f50a007ff4f3c976cb6f7ee29666b36426a89 SHA512 d961448c458c6c5a9cd15b33e0cccdc5ca1b8c2a93df9246d28b3a85a51a48d1419755728f6a884af2c55f2e29a86eee7b6074c170f8382cd76704a0f1fef976
+EBUILD ipython-9.12.0.ebuild 4591 BLAKE2B 86296765bdd6124cf26050c1f7643cab88f9fa0b40b024c4dcac8e8f32cacd85272ec53e624dc717c85481da7a4f50a007ff4f3c976cb6f7ee29666b36426a89 SHA512 d961448c458c6c5a9cd15b33e0cccdc5ca1b8c2a93df9246d28b3a85a51a48d1419755728f6a884af2c55f2e29a86eee7b6074c170f8382cd76704a0f1fef976
EBUILD ipython-9.9.0.ebuild 4649 BLAKE2B 3ef18dfb0a2934d2f67039c3a841e3e1121ef0b91e8116b1493adb749f00afb8b1b6bc3213847571fd1cca47beb56ed10527fb6e598b412f78969a4718919a46 SHA512 4cabe073a748b61587a55cf16a53d8b0c4cd821c7eb54765e6eaf49de8d142afda7201357059fd1df19e70f751b5d57b0d5f0b5e15788ecd21e4b684886f3458
MISC metadata.xml 2802 BLAKE2B 2fb6773ad4ef10d531f978e3ed40f6d99cf1586ec6d7cf2bf7e60fd5d640d082a0946651e0a066993320ffeaace3426066ca24c325926b62125ae91816707128 SHA512 965c3e36e05475d9454af8219b84e080d4c83d775f8a7e20a4951a82246d672c46fd3cb1fff5f8664d0ce8e8fcb846de6f15abc4575db3a6b7d87209194bcecc
diff --git a/dev-python/ipython/ipython-9.12.0.ebuild b/dev-python/ipython/ipython-9.12.0.ebuild
new file mode 100644
index 0000000000..7fa07c63ca
--- /dev/null
+++ b/dev-python/ipython/ipython-9.12.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
+}