diff options
author | Michał Górny <mgorny@gentoo.org> | 2013-11-17 10:24:54 +0000 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2013-11-17 10:24:54 +0000 |
commit | 0caf635e4d2ebec1b278b71f1f3aea770d1e2e82 (patch) | |
tree | 85aed7af78e124598cb718fdbb63366b3a1bcded /dev-python/ipython | |
parent | Don't use the provided gemspec file since its version number is incorrect. (diff) | |
download | gentoo-2-0caf635e4d2ebec1b278b71f1f3aea770d1e2e82.tar.gz gentoo-2-0caf635e4d2ebec1b278b71f1f3aea770d1e2e82.tar.bz2 gentoo-2-0caf635e4d2ebec1b278b71f1f3aea770d1e2e82.zip |
Use complete PYTHON_USEDEP on pexpect since it supports Python 3 now.
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key EFB4464E!)
Diffstat (limited to 'dev-python/ipython')
-rw-r--r-- | dev-python/ipython/ChangeLog | 7 | ||||
-rw-r--r-- | dev-python/ipython/ipython-1.1.0-r1.ebuild | 212 |
2 files changed, 218 insertions, 1 deletions
diff --git a/dev-python/ipython/ChangeLog b/dev-python/ipython/ChangeLog index fd1256d6e21c..819b2d8ee86a 100644 --- a/dev-python/ipython/ChangeLog +++ b/dev-python/ipython/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for dev-python/ipython # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-python/ipython/ChangeLog,v 1.128 2013/11/15 00:21:28 floppym Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-python/ipython/ChangeLog,v 1.129 2013/11/17 10:24:54 mgorny Exp $ + +*ipython-1.1.0-r1 (17 Nov 2013) + + 17 Nov 2013; Michał Górny <mgorny@gentoo.org> +ipython-1.1.0-r1.ebuild: + Use complete PYTHON_USEDEP on pexpect since it supports Python 3 now. 15 Nov 2013; Mike Gilbert <floppym@gentoo.org> ipython-1.0.0.ebuild, ipython-1.1.0.ebuild: diff --git a/dev-python/ipython/ipython-1.1.0-r1.ebuild b/dev-python/ipython/ipython-1.1.0-r1.ebuild new file mode 100644 index 000000000000..0c94f2a2fa05 --- /dev/null +++ b/dev-python/ipython/ipython-1.1.0-r1.ebuild @@ -0,0 +1,212 @@ +# 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-1.1.0-r1.ebuild,v 1.1 2013/11/17 10:24:54 mgorny 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}/ipython-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 +} + +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 +} |