Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/ipython/
Date: Sat, 25 Sep 2021 07:45:55
Message-Id: 1632555918.ddc057527d379bb14021963d851a99980771104e.mgorny@gentoo
1 commit: ddc057527d379bb14021963d851a99980771104e
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Sat Sep 25 06:44:12 2021 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sat Sep 25 07:45:18 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ddc05752
7
8 dev-python/ipython: Bump to 7.28.0
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 dev-python/ipython/Manifest | 1 +
13 dev-python/ipython/ipython-7.28.0.ebuild | 153 +++++++++++++++++++++++++++++++
14 2 files changed, 154 insertions(+)
15
16 diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest
17 index 79a89bf8cce..7327bfef92f 100644
18 --- a/dev-python/ipython/Manifest
19 +++ b/dev-python/ipython/Manifest
20 @@ -1 +1,2 @@
21 DIST ipython-7.26.0.tar.gz 5147847 BLAKE2B c0cb45550387e47bba6ea67656bbb4561a2250bf9c39b4560b26a8a9e380061f79c5fa663f90df166af1fa49811cb59953fb367b2fea5f07d44ba3f9dae3de44 SHA512 142ff8ebddd61640e6ebff01d16b1310b6370643aa8cf4c7fd076872ad342949a1778c5ad74eccbafdc6b4d31a1849e096d75a28eafc555d629948db523b4776
22 +DIST ipython-7.28.0.tar.gz 5150515 BLAKE2B e69b2ca9b788d8bcc12fb1b82c2e3f198ba4cf1918c8d8d30aea9a1ee3c7cea99ba3ade8ac7171466f1ffc8771dafcf5980766ecca7b985e07890e229cd1575d SHA512 227645ab2cc698f6f7141bb3712b254d75beaf3f227065530f25f988ac76b5a741752ddfa6bb2816b625eaa4972d434f9e73dbe465654e4efc5420b5d80650cb
23
24 diff --git a/dev-python/ipython/ipython-7.28.0.ebuild b/dev-python/ipython/ipython-7.28.0.ebuild
25 new file mode 100644
26 index 00000000000..c9a468dda53
27 --- /dev/null
28 +++ b/dev-python/ipython/ipython-7.28.0.ebuild
29 @@ -0,0 +1,153 @@
30 +# Copyright 1999-2021 Gentoo Authors
31 +# Distributed under the terms of the GNU General Public License v2
32 +
33 +EAPI=8
34 +
35 +DISTUTILS_USE_SETUPTOOLS=no
36 +PYTHON_COMPAT=( python3_{8..10} )
37 +PYTHON_REQ_USE='readline,sqlite,threads(+)'
38 +
39 +inherit distutils-r1 optfeature virtualx
40 +
41 +DESCRIPTION="Advanced interactive shell for Python"
42 +HOMEPAGE="https://ipython.org/ https://github.com/ipython/ipython/"
43 +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
44 +
45 +LICENSE="BSD"
46 +SLOT="0"
47 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
48 +IUSE="doc examples matplotlib notebook nbconvert qt5 +smp test"
49 +RESTRICT="!test? ( test )"
50 +
51 +RDEPEND="
52 + dev-python/backcall[${PYTHON_USEDEP}]
53 + dev-python/decorator[${PYTHON_USEDEP}]
54 + >=dev-python/jedi-0.16[${PYTHON_USEDEP}]
55 + >=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
56 + dev-python/pickleshare[${PYTHON_USEDEP}]
57 + >=dev-python/prompt_toolkit-2[${PYTHON_USEDEP}]
58 + <dev-python/prompt_toolkit-3.1[${PYTHON_USEDEP}]
59 + dev-python/pygments[${PYTHON_USEDEP}]
60 + dev-python/traitlets[${PYTHON_USEDEP}]
61 + matplotlib? (
62 + dev-python/matplotlib[${PYTHON_USEDEP}]
63 + dev-python/matplotlib-inline[${PYTHON_USEDEP}]
64 + )
65 +"
66 +
67 +BDEPEND="
68 + test? (
69 + app-text/dvipng[truetype]
70 + >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
71 + dev-python/matplotlib[${PYTHON_USEDEP}]
72 + dev-python/matplotlib-inline[${PYTHON_USEDEP}]
73 + dev-python/nbformat[${PYTHON_USEDEP}]
74 + dev-python/nose[${PYTHON_USEDEP}]
75 + >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
76 + dev-python/requests[${PYTHON_USEDEP}]
77 + dev-python/testpath[${PYTHON_USEDEP}]
78 + )
79 + doc? (
80 + >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
81 + dev-python/matplotlib[${PYTHON_USEDEP}]
82 + >=dev-python/sphinx-2[${PYTHON_USEDEP}]
83 + dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
84 + )"
85 +
86 +distutils_enable_tests pytest
87 +
88 +RDEPEND+="
89 + nbconvert? (
90 + dev-python/nbconvert[${PYTHON_USEDEP}]
91 + )"
92 +PDEPEND="
93 + notebook? (
94 + dev-python/notebook[${PYTHON_USEDEP}]
95 + dev-python/ipywidgets[${PYTHON_USEDEP}]
96 + dev-python/widgetsnbextension[${PYTHON_USEDEP}]
97 + )
98 + qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
99 + smp? (
100 + >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
101 + >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
102 + )"
103 +
104 +PATCHES=( "${FILESDIR}"/2.1.0-substitute-files.patch )
105 +
106 +DISTUTILS_IN_SOURCE_BUILD=1
107 +
108 +python_prepare_all() {
109 + # Remove out of date insource files
110 + rm IPython/extensions/cythonmagic.py || die
111 + rm IPython/extensions/rmagic.py || die
112 +
113 + # Prevent un-needed download during build
114 + if use doc; then
115 + sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
116 + fi
117 +
118 + # Rename the test directory to reduce sys.path pollution
119 + # https://github.com/ipython/ipython/issues/12892
120 + mv IPython/extensions/{,ipython_}tests || die
121 +
122 + distutils-r1_python_prepare_all
123 +}
124 +
125 +python_compile_all() {
126 + if use doc; then
127 + emake -C docs html_noapi
128 + HTML_DOCS=( docs/build/html/. )
129 + fi
130 +}
131 +
132 +python_test() {
133 + local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
134 + local EPYTEST_DESELECT=()
135 + [[ ${EPYTHON} == python3.10 ]] && EPYTEST_DESELECT+=(
136 + # TODO
137 + IPython/core/tests/test_completer.py::TestCompleter::test_all_completions_dups
138 + IPython/core/tests/test_completer.py::TestCompleter::test_deduplicate_completions
139 + IPython/core/tests/test_oinspect.py::test_pinfo_docstring_if_detail_and_no_source
140 + # fails due to changed argparse output
141 + IPython/core/tests/test_magic_arguments.py::test_magic_arguments
142 + # py3.10 API incompat, doesn't look important
143 + IPython/lib/tests/test_pretty.py::test_pprint_heap_allocated_type
144 + )
145 + virtx epytest
146 +}
147 +
148 +python_install() {
149 + distutils-r1_python_install
150 +
151 + # Create ipythonX.Y symlinks.
152 + # TODO:
153 + # 1. do we want them for pypy? No. pypy has no numpy
154 + # 2. handle it in the eclass instead (use _python_ln_rel).
155 + # With pypy not an option the dosym becomes unconditional
156 + dosym ../lib/python-exec/${EPYTHON}/ipython \
157 + /usr/bin/ipython${EPYTHON#python}
158 +}
159 +
160 +python_install_all() {
161 + distutils-r1_python_install_all
162 +
163 + if use examples; then
164 + dodoc -r examples
165 + docompress -x /usr/share/doc/${PF}/examples
166 + fi
167 +}
168 +
169 +pkg_postinst() {
170 + optfeature "sympyprinting" dev-python/sympy
171 + optfeature "cythonmagic" dev-python/cython
172 + optfeature "%lprun magic command" dev-python/line_profiler
173 + optfeature "%mprun magic command" dev-python/memory_profiler
174 +
175 + if use nbconvert; then
176 + if ! has_version app-text/pandoc ; then
177 + einfo "Node.js will be used to convert notebooks to other formats"
178 + einfo "like HTML. Support for that is still experimental. If you"
179 + einfo "encounter any problems, please use app-text/pandoc instead."
180 + fi
181 + fi
182 +}