diff options
author | Justin Lecher <jlec@gentoo.org> | 2014-02-21 12:07:48 +0000 |
---|---|---|
committer | Justin Lecher <jlec@gentoo.org> | 2014-02-21 12:07:48 +0000 |
commit | 0e0ca5d33dd1033a6a23bacadaeee004f9ed0dc3 (patch) | |
tree | 1119ccfd99867246c1859dc7484bb58c5e2ae441 /dev-python/ipython | |
parent | dev-python/pandas: Version BUmp (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | dev-python/ipython/ipython-1.2.0.ebuild | 221 | ||||
-rw-r--r-- | dev-python/ipython/metadata.xml | 20 |
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へ置き換>える事ができます。 主機能: @@ -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> |