ipython: fork and 7.13.0 bump

This commit is contained in:
blshkv 2020-04-05 14:14:33 +08:00
parent b37d617984
commit b5f58bba9b
No known key found for this signature in database
GPG key ID: 273E3E90D1A6294F
6 changed files with 220 additions and 9 deletions

View file

@ -0,0 +1 @@
DIST ipython-7.13.0.tar.gz 5224667 BLAKE2B f8fda7676046b10f46d46905ac56078e25200af777522ec8a4ac23c7667e38bef8b22a041bd57beaea1310c0460a94dea61f55b371a60ab1f24ff92fd40d143c SHA512 3fff48649ee67f2f5652e49815595c66aea1545dfcdf045e717c4142f698ad3b37b90fabe544cb57a4db5d467a91d6f091871fc7361c08d68b00e57591f29d85

View file

@ -0,0 +1,27 @@
substitute the insource files with these messages
diff --git a/IPython/extensions/octavemagic.py b/IPython/extensions/octavemagic.py
new file mode 100644
index 0000000..dc93fe4
--- /dev/null
+++ b/IPython/extensions/octavemagic.py
@@ -0,0 +1,7 @@
+import warnings
+
+def load_ipython_extension(ip):
+ msg = ("The octavemagic extension has been moved to oct2py. "
+ "After installing oct2py, you can load octavemagic with the "
+ "following command: '%load_ext oct2py.ipython'.")
+ warnings.warn(msg, Warning, stacklevel=2)
diff --git a/IPython/extensions/rmagic.py b/IPython/extensions/rmagic.py
new file mode 100644
index 0000000..739e491
--- /dev/null
+++ b/IPython/extensions/rmagic.py
@@ -0,0 +1,7 @@
+import warnings
+
+def load_ipython_extension(ip):
+ msg = ("The rmagic extension has been moved to rpy2. "
+ "After installing rpy2, you can load rmagic with the "
+ "following command: '%load_ext rpy2.ipython'.")
+ warnings.warn(msg, Warning, stacklevel=2)

View file

@ -0,0 +1,133 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
PYTHON_REQ_USE='readline,sqlite,threads(+)'
inherit distutils-r1 eutils virtualx
DESCRIPTION="Advanced interactive shell for Python"
HOMEPAGE="http://ipython.org/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 x86 ~amd64-linux ~x86-linux"
IUSE="doc examples matplotlib notebook nbconvert qt5 +smp test"
RESTRICT="!test? ( test )"
CDEPEND="
>=dev-python/jedi-0.10[${PYTHON_USEDEP}]
dev-python/decorator[${PYTHON_USEDEP}]
dev-python/pickleshare[${PYTHON_USEDEP}]
dev-python/traitlets[${PYTHON_USEDEP}]
>=dev-python/prompt_toolkit-2.0.0[${PYTHON_USEDEP}]
<dev-python/prompt_toolkit-3.1[${PYTHON_USEDEP}]
dev-python/pygments[${PYTHON_USEDEP}]
dev-python/backcall[${PYTHON_USEDEP}]
dev-python/pexpect[${PYTHON_USEDEP}]
matplotlib? ( dev-python/matplotlib[${PYTHON_USEDEP}] )
"
RDEPEND="${CDEPEND}
nbconvert? ( dev-python/nbconvert[${PYTHON_USEDEP}] )"
DEPEND="${CDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
>=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
dev-python/nbformat[${PYTHON_USEDEP}]
dev-python/nose[${PYTHON_USEDEP}]
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/testpath[${PYTHON_USEDEP}]
)
doc? (
>=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
>=dev-python/sphinx-2[${PYTHON_USEDEP}]
)"
PDEPEND="
notebook? (
dev-python/notebook[${PYTHON_USEDEP}]
dev-python/ipywidgets[${PYTHON_USEDEP}]
dev-python/widgetsnbextension[${PYTHON_USEDEP}]
)
qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
smp? (
>=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
>=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
)"
PATCHES=( "${FILESDIR}"/2.1.0-substitute-files.patch )
DISTUTILS_IN_SOURCE_BUILD=1
python_prepare_all() {
# Remove out of date insource files
rm IPython/extensions/cythonmagic.py || die
rm IPython/extensions/rmagic.py || die
# Prevent un-needed download during build
if use doc; then
sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
fi
distutils-r1_python_prepare_all
}
python_compile_all() {
if use doc; then
emake -C docs html_noapi
HTML_DOCS=( docs/build/html/. )
fi
}
src_test() {
virtx distutils-r1_src_test
}
python_test() {
distutils_install_for_testing
pushd "${TEST_DIR}" >/dev/null || die
"${TEST_DIR}"/scripts/iptest || die
popd >/dev/null || die
}
python_install() {
distutils-r1_python_install
# Create ipythonX.Y symlinks.
# TODO:
# 1. do we want them for pypy? No. pypy has no numpy
# 2. handle it in the eclass instead (use _python_ln_rel).
# With pypy not an option the dosym becomes unconditional
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 "sympyprinting" dev-python/sympy
optfeature "cythonmagic" dev-python/cython
optfeature "%lprun magic command" dev-python/line_profiler
optfeature "%mprun magic command" dev-python/memory_profiler
if use nbconvert; then
if ! has_version app-text/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
}

View file

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<longdescription lang="en">
IPython provides a replacement for the interactive Python interpreter with
extra functionality. Main features:
* Comprehensive object introspection.
* Input history, persistent across sessions.
* Caching of output results during a session with automatically generated
references.
* Readline based name completion.
* Extensible system of 'magic' commands for controlling the environment and
performing many tasks related either to IPython or the operating system.
* Configuration system with easy switching between different setups (simpler
than changing $PYTHONSTARTUP environment variables every time).
* Session logging and reloading.
* Extensible syntax processing for special purpose situations.
* Access to the system shell with user-extensible alias system.
* Easily embeddable in other Python programs.
* Integrated access to the pdb debugger and the Python profiler.
</longdescription>
<longdescription lang="ja">
対話的に利用する場合にPythonインタープリタから、より機能が豊富なIPythonへ置き換える事ができます。
主機能:
* 内包的オブジェクトの分析。
* 入力ヒストリーはセッションを越えて記憶し続けます。
* 出力は自動作成されるリファレンスのセッション間はキャッシュします。
* Readlineを利用した名前補完。
* 環境管理とIPythonまたはOSのどちらかに関係するタスク実行のためのmagic
コマンドを拡張可能なシステム。
* 異なるセットアップを簡単に交換できるコンフィグレーション・システム。
(毎回起動時に、$PYTHONSTARTUP環境変数を指定するよりも簡単です。)
* セッション・ロギングとセッション・リローディング。
* 特別な状況時のための拡張可能な構文解析。
* ユーザー定義できるエイリアス・システムでシステム・シェルにアクセス。
* 他のPython言語プログラムを組み込むのが簡単。
* pdbデバッガとprofilerへの統合アクセス。
</longdescription>
<use>
<flag name="matplotlib">Add support for <pkg>dev-python/matplotlib</pkg></flag>
<flag name="notebook">Install requirements for the web notebook based on <pkg>www-servers/tornado</pkg></flag>
<flag name="nbconvert">Enable support for converting notebooks to various formats using <pkg>app-text/pandoc</pkg></flag>
</use>
<upstream>
<remote-id type="pypi">ipython</remote-id>
<remote-id type="github">ipython/ipython</remote-id>
</upstream>
</pkgmetadata>

View file

@ -516,3 +516,6 @@ dev-python/minidump
dev-python/winacl
dev-python/aiocmd
dev-python/asysocks
#for recent prompt_toolkit
=dev-python/ipython-7.13*

View file

@ -14,14 +14,8 @@ dev-python/ipython matplotlib
#urh
dev-python/PyQt5 testlib
# >=ipython-6 does not support python2
dev-python/netaddr -cli
dev-python/ipykernel -python_targets_python2_7
dev-python/ipyparallel -python_targets_python2_7
dev-python/notebook -python_targets_python2_7
dev-python/qtconsole -python_targets_python2_7
dev-util/androguard -python_targets_python2_7
dev-python/networkx -python_targets_python2_7
#remove python2 deps
#dev-python/netaddr -cli
dev-python/matplotlib -wxwidgets
dev-python/django-constance database