summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Lecher <jlec@gentoo.org>2014-02-21 12:07:48 +0000
committerJustin Lecher <jlec@gentoo.org>2014-02-21 12:07:48 +0000
commit0e0ca5d33dd1033a6a23bacadaeee004f9ed0dc3 (patch)
tree1119ccfd99867246c1859dc7484bb58c5e2ae441 /dev-python/ipython
parentdev-python/pandas: Version BUmp (diff)
downloadgentoo-2-0e0ca5d33dd1033a6a23bacadaeee004f9ed0dc3.tar.gz
gentoo-2-0e0ca5d33dd1033a6a23bacadaeee004f9ed0dc3.tar.bz2
gentoo-2-0e0ca5d33dd1033a6a23bacadaeee004f9ed0dc3.zip
dev-python/ipython: Version BUmp, tests fail with py3.3 https://github.com/ipython/ipython/issues/5182
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key B9D4F231BD1558AB!)
Diffstat (limited to 'dev-python/ipython')
-rw-r--r--dev-python/ipython/ChangeLog9
-rw-r--r--dev-python/ipython/ipython-1.2.0.ebuild221
-rw-r--r--dev-python/ipython/metadata.xml20
3 files changed, 239 insertions, 11 deletions
diff --git a/dev-python/ipython/ChangeLog b/dev-python/ipython/ChangeLog
index 01dc86cd987c..ef0c875c0595 100644
--- a/dev-python/ipython/ChangeLog
+++ b/dev-python/ipython/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-python/ipython
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/ipython/ChangeLog,v 1.133 2014/02/16 20:40:06 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/ipython/ChangeLog,v 1.134 2014/02/21 12:07:48 jlec Exp $
+
+*ipython-1.2.0 (21 Feb 2014)
+
+ 21 Feb 2014; Justin Lecher <jlec@gentoo.org> +ipython-1.2.0.ebuild,
+ metadata.xml:
+ Version BUmp, tests fail with py3.3
+ https://github.com/ipython/ipython/issues/5182
16 Feb 2014; Mike Frysinger <vapier@gentoo.org> ipython-1.0.0.ebuild:
Mark arm stable.
diff --git a/dev-python/ipython/ipython-1.2.0.ebuild b/dev-python/ipython/ipython-1.2.0.ebuild
new file mode 100644
index 000000000000..b44bdc05aba8
--- /dev/null
+++ b/dev-python/ipython/ipython-1.2.0.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/ipython/ipython-1.2.0.ebuild,v 1.1 2014/02/21 12:07:48 jlec Exp $
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} )
+PYTHON_REQ_USE='readline,sqlite'
+
+inherit distutils-r1 elisp-common eutils virtualx
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+DESCRIPTION="Advanced interactive shell for Python"
+HOMEPAGE="http://ipython.org/"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/rel-${PV}/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc emacs examples matplotlib mongodb notebook nbconvert octave
+ qt4 +smp test wxwidgets"
+
+PY2_USEDEP=$(python_gen_usedep 'python2*')
+
+gen_python_deps() {
+ local flag
+ for flag in $(python_gen_useflags '*'); do
+ echo "${flag}? ( ${1}[${flag}(-)] )"
+ done
+}
+
+CDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/simplegeneric[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ virtual/python-argparse[${PYTHON_USEDEP}]
+ emacs? ( app-emacs/python-mode virtual/emacs )
+ matplotlib? ( dev-python/matplotlib[${PYTHON_USEDEP}] )
+ mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
+ octave? ( dev-python/oct2py[${PY2_USEDEP}] )
+ smp? ( dev-python/pyzmq[${PYTHON_USEDEP}] )
+ wxwidgets? ( dev-python/wxpython[${PY2_USEDEP}] )"
+RDEPEND="${CDEPEND}
+ notebook? (
+ >=www-servers/tornado-2.1[${PY2_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/pyzmq[${PYTHON_USEDEP}]
+ dev-libs/mathjax
+ $(gen_python_deps dev-python/jinja)
+ )
+ nbconvert? (
+ app-text/pandoc
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ $(gen_python_deps dev-python/jinja)
+ )
+ qt4? ( || ( dev-python/PyQt4[${PYTHON_USEDEP}] dev-python/pyside[${PYTHON_USEDEP}] )
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/pyzmq[${PYTHON_USEDEP}] )"
+DEPEND="${CDEPEND}
+ test? ( dev-python/nose[${PYTHON_USEDEP}] )"
+
+PY2_REQUSE="|| ( $(python_gen_useflags python2* ) )"
+REQUIRED_USE="
+ mongodb? ( ${PY2_REQUSE} )
+ notebook? ( ${PY2_REQUSE} )
+ octave? ( ${PY2_REQUSE} )
+ wxwidgets? ( ${PY2_REQUSE} )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.0-setuptools.patch
+)
+
+python_prepare_all() {
+ # fix for gentoo python scripts
+ sed -i \
+ -e "/ipython_cmd/s/ipython3/ipython/g" \
+ IPython/terminal/console/tests/test_console.py \
+ IPython/lib/irunner.py \
+ IPython/testing/tools.py || die
+
+ sed -i \
+ -e "s/find_scripts(True, suffix='3')/find_scripts(True)/" \
+ setup.py || die
+
+ # fix gentoo installation directory for documentation
+ sed -i \
+ -e "/docdirbase = pjoin/s/ipython/${PF}/" \
+ -e "/pjoin(docdirbase,'manual')/s/manual/html/" \
+ setupbase.py || die "sed failed"
+
+ if ! use doc; then
+ sed -i \
+ -e "/(pjoin(docdirbase, 'extensions'), igridhelpfiles),/d" \
+ -e 's/ + manual_files//' \
+ setupbase.py || die
+ fi
+
+ if ! use examples; then
+ sed -i \
+ -e 's/+ example_files//' \
+ setupbase.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ use emacs && elisp-compile docs/emacs/ipython.el
+}
+
+src_test() {
+ # virtualx has trouble with parallel runs.
+ local DISTUTILS_NO_PARALLEL_BUILD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ # https://github.com/ipython/ipython/issues/2083
+ unset PYTHONWARNINGS
+
+ # ipython skips mongodb tests only if it's not running.
+ # since we want the widest test range, and don't want it to fiddle
+ # with user-running mongodb, we always run it if it's available.
+
+ local DB_IP=127.0.0.1
+ local DB_PORT=-1 # disable
+
+ pushd "${BUILD_DIR}"/../IPython/scripts/ > /dev/null
+
+ if has_version dev-db/mongodb; then
+ # please keep in sync with dev-python/pymongo
+
+ local dbpath=${TMPDIR}/mongo.db
+ local logpath=${TMPDIR}/mongod.log
+
+ # prefer starting with non-default one
+ DB_PORT=27018
+
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ LC_ALL=C \
+ mongod --dbpath "${dbpath}" --smallfiles --nojournal \
+ --bind_ip ${DB_IP} --port ${DB_PORT} \
+ --unixSocketPrefix "${TMPDIR}" \
+ --logpath "${logpath}" --fork \
+ && sleep 2
+
+ # Now we need to check if the server actually started...
+ if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+ # yay!
+ eend 0
+ break
+ elif grep -q 'Address already in use' "${logpath}"; then
+ # ay, someone took our port!
+ eend 1
+ : $(( DB_PORT += 1 ))
+ continue
+ else
+ eend 1
+ ewarn "Unable to start mongod for tests."
+ break
+ fi
+ done
+ fi
+
+ # No support for DB_IP and DB_PORT.
+ # https://github.com/ipython/ipython/pull/2910
+ sed -i -e "s:Connection(:&host='${DB_IP}', port=${DB_PORT}:" \
+ "${BUILD_DIR}"/lib/IPython/parallel/tests/test_mongodb.py \
+ || die "Unable to sed mongod port into tests"
+
+ local fail
+ run_tests() {
+ # Initialize ~/.ipython directory.
+ "${EPYTHON}" ipython </dev/null >/dev/null || fail=1
+ # Run tests (-v for more verbosity).
+ PYTHONPATH=${PYTHONPATH}:. "${EPYTHON}" iptest -v || fail=1
+ }
+
+ VIRTUALX_COMMAND=run_tests virtualmake
+
+ [[ ${DB_PORT} != -1 ]] && mongod --dbpath "${dbpath}" --shutdown
+ [[ ${fail} ]] && die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+ ln -snf "${EPREFIX}"/usr/share/mathjax \
+ "${D}$(python_get_sitedir)"/IPython/html/static/mathjax || die
+
+ # Create ipythonX.Y symlinks.
+ # TODO:
+ # 1. do we want them for pypy?
+ # 2. handle it in the eclass instead (use _python_ln_rel).
+ if [[ ${EPYTHON} == python* ]]; then
+ dosym ../lib/python-exec/${EPYTHON}/ipython \
+ /usr/bin/ipython${EPYTHON#python}
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use emacs; then
+ cd docs/emacs || die
+ elisp-install ${PN} ${PN}.el*
+ elisp-site-file-install "${FILESDIR}"/62ipython-gentoo.el
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-python/ipython/metadata.xml b/dev-python/ipython/metadata.xml
index f35524b99372..94239d2f7c7d 100644
--- a/dev-python/ipython/metadata.xml
+++ b/dev-python/ipython/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>python</herd>
-<longdescription lang="en">
+ <herd>python</herd>
+ <longdescription lang="en">
IPython provides a replacement for the interactive Python interpreter with
extra functionality. Main features:
* Comprehensive object introspection.
@@ -20,7 +20,7 @@
* Easily embeddable in other Python programs.
* Integrated access to the pdb debugger and the Python profiler.
</longdescription>
-<longdescription lang="ja">
+ <longdescription lang="ja">
対話的に利用する場合にPythonインタープリタから、より機能が豊富なIPythonへ置き換&gt;える事ができます。
主機能:
@@ -38,11 +38,11 @@
* 他のPython言語プログラムを組み込むのが簡単。
* pdbデバッガとprofilerへの統合アクセス。
</longdescription>
-<use>
- <flag name="matplotlib">Add support for <pkg>dev-python/matplotlib</pkg></flag>
- <flag name="mongodb">Enable support for MongoDB via <pkg>dev-python/pymongo</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>
- <flag name="octave">Enable octave bridge via <pkg>dev-python/oct2py</pkg></flag>
-</use>
+ <use>
+ <flag name="matplotlib">Add support for <pkg>dev-python/matplotlib</pkg></flag>
+ <flag name="mongodb">Enable support for MongoDB via <pkg>dev-python/pymongo</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>
+ <flag name="octave">Enable octave bridge via <pkg>dev-python/oct2py</pkg></flag>
+ </use>
</pkgmetadata>