--- /home/testuser/cvsPortage/gentoo-x86/dev-python/ipython/ipython-2.1.0.ebuild 2014-08-05 22:57:55.077771405 +0800 +++ ipython-2.1.0.ebuild 2014-08-05 23:00:58.317787127 +0800 @@ -1,23 +1,24 @@ # 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-2.1.0.ebuild,v 1.1 2014/08/01 03:25:26 idella4 Exp $ +# $Header: $ EAPI=5 PYTHON_COMPAT=( python{2_7,3_3,3_4} ) PYTHON_REQ_USE='readline,sqlite' -inherit distutils-r1 elisp-common virtualx +inherit distutils-r1 virtualx DESCRIPTION="Advanced interactive shell for Python" HOMEPAGE="http://ipython.org/" -SRC_URI="https://github.com/${PN}/${PN}/releases/download/rel-${PV}/${P}.tar.gz" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" -IUSE="doc examples matplotlib mongodb notebook nbconvert octave qt4 +smp test wxwidgets" +IUSE="doc cython examples matplotlib mongodb notebook nbconvert octave qt4 rpy +smp test wxwidgets" +#sympy witheld for now PY2_USEDEP=$(python_gen_usedep python2_7) CDEPEND=" dev-python/decorator[${PYTHON_USEDEP}] @@ -28,75 +29,58 @@ matplotlib? ( dev-python/matplotlib[${PYTHON_USEDEP}] ) mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] ) octave? ( dev-python/oct2py[${PYTHON_USEDEP}] ) + rpy? ( dev-python/rpy[${PYTHON_USEDEP}] ) + cython? ( dev-python/cython[${PYTHON_USEDEP}] ) smp? ( >=dev-python/pyzmq-2.1.11[${PYTHON_USEDEP}] ) - wxwidgets? ( dev-python/wxpython[${PY2_USEDEP}] )" + wxwidgets? ( $(python_gen_cond_dep 'dev-python/wxpython[${PYTHON_USEDEP}]' python2_7) )" +#sympy? ( dev-python/sympy[${PYTHON_USEDEP}] ) witheld for now RDEPEND="${CDEPEND} notebook? ( >=www-servers/tornado-3.1[${PYTHON_USEDEP}] dev-python/pygments[${PYTHON_USEDEP}] >=dev-python/pyzmq-2.1.11[${PYTHON_USEDEP}] dev-python/jinja[${PYTHON_USEDEP}] - dev-libs/mathjax ) + dev-libs/mathjax + ) nbconvert? ( >=app-text/pandoc-1.12.1 dev-python/pygments[${PYTHON_USEDEP}] dev-python/sphinx[${PYTHON_USEDEP}] - dev-python/jinja[${PYTHON_USEDEP}] ) + dev-python/jinja[${PYTHON_USEDEP}] + ) qt4? ( || ( dev-python/PyQt4[${PYTHON_USEDEP}] dev-python/pyside[${PYTHON_USEDEP}] ) - dev-python/pygments[${PYTHON_USEDEP}] - dev-python/pyzmq[${PYTHON_USEDEP}] )" + dev-python/pygments[${PYTHON_USEDEP}] + >=dev-python/pyzmq-2.1.11[${PYTHON_USEDEP}] )" DEPEND="${CDEPEND} - test? ( dev-python/nose[${PYTHON_USEDEP}] - dev-python/oct2py[${PYTHON_USEDEP}] - dev-python/mock[${PYTHON_USEDEP}] - net-libs/nodejs ) + test? ( + dev-python/nose[${PYTHON_USEDEP}] + dev-python/mock[${PY2_USEDEP}] + net-libs/nodejs + ) doc? ( dev-python/sphinx[${PYTHON_USEDEP}] dev-python/numpydoc[${PYTHON_USEDEP}] - dev-python/rpy[${PYTHON_USEDEP}] + dev-python/nose[${PYTHON_USEDEP}] $(python_gen_cond_dep 'dev-python/fabric[${PYTHON_USEDEP}]' python2_7) - dev-python/nose[${PYTHON_USEDEP}] )" - -PY2_REQUSE="$(python_gen_useflags python2_7)" -REQUIRED_USE=" - wxwidgets? ( ${PY2_REQUSE} ) - doc? ( matplotlib mongodb octave )" + )" +# PY2_REQUSE="$(python_gen_useflags python2_7)" +REQUIRED_USE="doc? ( cython matplotlib mongodb octave rpy )" +#wxwidgets? ( ${PY2_REQUSE} ) + +PATCHES=( ${FILESDIR}/bp1406.patch + ${FILESDIR}/bp1407.patch + ${FILESDIR}/test.patch ) DISTUTILS_IN_SOURCE_BUILD=1 -PATCHES=( "${FILESDIR}"/2.1.0-disable-tests.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/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" - + # Remove files unless USE=doc 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 + rm IPython/extensions/rmagic.py || die + rm IPython/extensions/octavemagic.py || die fi + # Prevent un-needed download during build if use doc; then - # Prevent un-needed download during build sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die fi @@ -117,14 +101,12 @@ distutils_install_for_testing local fail run_tests() { - # Run tests (-v for more verbosity). - PYTHONPATH="${PYTHONPATH}:$(pwd)" pushd ${TEST_DIR} > /dev/null - "${PYTHON}" -c "import IPython; IPython.test()" || fail=1 + "${PYTHON}" -m IPython.testing.iptestcontroller --all || fail=1 popd > /dev/null } - VIRTUALX_COMMAND=run_tests virtualmake + [[ ${fail} ]] && die "Tests fail with ${EPYTHON}" } python_install() { @@ -134,12 +116,11 @@ # Create ipythonX.Y symlinks. # TODO: - # 1. do we want them for pypy? + # 1. do we want them for pypy? No. pypy has no numpy # 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 + # With pypy not an option the dosym becomes unconditional + dosym ../lib/python-exec/${EPYTHON}/ipython \ + /usr/bin/ipython${EPYTHON#python} } python_install_all() {