diff options
author | Michał Górny <mgorny@gentoo.org> | 2013-02-11 15:59:01 +0000 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2013-02-11 15:59:01 +0000 |
commit | 0dfe329dec01c9b2f9ae4892ed3329dc2eac7c24 (patch) | |
tree | 09fbf754ec785aa4e6673a7b0ea6aa5194ea56cf /dev-python/ipython | |
parent | Clean up a bit. Enable py2.6 as needed by ipython. Disable Python 3 as not su... (diff) | |
download | gentoo-2-0dfe329dec01c9b2f9ae4892ed3329dc2eac7c24.tar.gz gentoo-2-0dfe329dec01c9b2f9ae4892ed3329dc2eac7c24.tar.bz2 gentoo-2-0dfe329dec01c9b2f9ae4892ed3329dc2eac7c24.zip |
Migrate to distutils-r1.
(Portage version: 2.2.0_alpha142/cvs/Linux x86_64, signed Manifest commit with key 42B9401D)
Diffstat (limited to 'dev-python/ipython')
-rw-r--r-- | dev-python/ipython/ChangeLog | 9 | ||||
-rw-r--r-- | dev-python/ipython/ipython-0.13.1-r1.ebuild | 190 |
2 files changed, 197 insertions, 2 deletions
diff --git a/dev-python/ipython/ChangeLog b/dev-python/ipython/ChangeLog index 874595a28d4a..e9358c203e1e 100644 --- a/dev-python/ipython/ChangeLog +++ b/dev-python/ipython/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for dev-python/ipython -# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-python/ipython/ChangeLog,v 1.103 2012/12/31 12:59:55 mgorny Exp $ +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-python/ipython/ChangeLog,v 1.104 2013/02/11 15:59:01 mgorny Exp $ + +*ipython-0.13.1-r1 (11 Feb 2013) + + 11 Feb 2013; Michał Górny <mgorny@gentoo.org> +ipython-0.13.1-r1.ebuild: + Migrate to distutils-r1. 31 Dec 2012; Michał Górny <mgorny@gentoo.org> ipython-0.12-r1.ebuild, ipython-0.12.1.ebuild, ipython-0.13.1.ebuild, ipython-0.13.ebuild: diff --git a/dev-python/ipython/ipython-0.13.1-r1.ebuild b/dev-python/ipython/ipython-0.13.1-r1.ebuild new file mode 100644 index 000000000000..0e483a1dabcf --- /dev/null +++ b/dev-python/ipython/ipython-0.13.1-r1.ebuild @@ -0,0 +1,190 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-python/ipython/ipython-0.13.1-r1.ebuild,v 1.1 2013/02/11 15:59:01 mgorny Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python{2_6,2_7,3_1,3_2} ) +PYTHON_REQ_USE='readline,sqlite' + +inherit distutils-r1 elisp-common eutils virtualx + +DESCRIPTION="Advanced interactive shell for Python" +HOMEPAGE="http://ipython.org/" +SRC_URI="http://archive.ipython.org/release/${PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc emacs examples matplotlib mongodb notebook octave + qt4 +smp test wxwidgets" + +PY2_USEDEP=$(python_gen_usedep python2*) + +CDEPEND="dev-python/decorator[${PYTHON_USEDEP}] + dev-python/pexpect[${PY2_USEDEP}] + virtual/pyparsing[${PYTHON_USEDEP}] + dev-python/simplegeneric[${PYTHON_USEDEP}] + virtual/python-argparse[${PYTHON_USEDEP}] + emacs? ( app-emacs/python-mode virtual/emacs ) + matplotlib? ( dev-python/matplotlib[${PYTHON_USEDEP}] ) + mongodb? ( dev-python/pymongo[${PY2_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}] ) + 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} )" + +python_prepare_all() { + epatch "${FILESDIR}"/${PN}-0.12-globalpath.patch + + # fix for gentoo python scripts + sed -i \ + -e "/ipython_cmd/s/ipython3/ipython/g" \ + IPython/frontend/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 + + # disable failing tests + sed -i \ + -e 's/test_pylab_import_all_disabled/_&/' \ + -e 's/test_pylab_import_all_enabled/_&/' \ + IPython/lib/tests/test_irunner_pylab_magic.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 + + distutils_install_for_testing + + # 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 + + 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}:" \ + "${TEST_DIR}"/lib/*/IPython/parallel/tests/test_mongodb.py \ + || die "Unable to sed mongod port into tests" + + local fail + + run_tests() { + # Initialize ~/.ipython directory. + "${TEST_DIR}"/scripts/ipython </dev/null >/dev/null || fail=1 + # Run tests (-v for more verbosity). + "${TEST_DIR}"/scripts/iptest -v || fail=1 + } + + VIRTUALX_COMMAND=run_tests virtualmake + + [[ ${DB_PORT} != -1 ]] && mongod --dbpath "${dbpath}" --shutdown + [[ ${fail} ]] && die "Tests fail with ${EPYTHON}" +} + +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 +} |