96 lines
2.8 KiB
Bash
96 lines
2.8 KiB
Bash
# Copyright 1999-2012 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/dev-python/ipython/ipython-0.10.1.ebuild,v 1.7 2012/08/26 18:48:25 armin76 Exp $
|
|
|
|
EAPI="3"
|
|
PYTHON_DEPEND="2"
|
|
SUPPORT_PYTHON_ABIS="1"
|
|
# When a new version of this package supports Python 3, then 3.* Python ABIs should be unrestricted in dev-python/ipdb.
|
|
RESTRICT_PYTHON_ABIS="3.*"
|
|
|
|
inherit distutils elisp-common eutils
|
|
|
|
DESCRIPTION="An advanced interactive shell for Python."
|
|
HOMEPAGE="http://ipython.scipy.org/ http://pypi.python.org/pypi/ipython"
|
|
SRC_URI="http://ipython.scipy.org/dist/${PV}/${P}.tar.gz"
|
|
|
|
LICENSE="BSD"
|
|
SLOT="0"
|
|
KEYWORDS="amd64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
|
IUSE="doc emacs examples gnuplot readline smp test wxwidgets"
|
|
|
|
CDEPEND="dev-python/pexpect
|
|
wxwidgets? ( dev-python/wxpython )
|
|
readline? ( sys-libs/readline )
|
|
emacs? ( app-emacs/python-mode virtual/emacs )
|
|
smp? ( net-zope/zope-interface
|
|
dev-python/foolscap
|
|
dev-python/pyopenssl )"
|
|
RDEPEND="${CDEPEND}
|
|
gnuplot? ( dev-python/gnuplot-py )"
|
|
DEPEND="${CDEPEND}
|
|
test? ( dev-python/nose )"
|
|
|
|
SITEFILE="62ipython-gentoo.el"
|
|
DOCS="docs/source/changes.txt"
|
|
PYTHON_MODNAME="IPython"
|
|
|
|
src_prepare() {
|
|
epatch "${FILESDIR}"/${PN}-0.9.1-globalpath.patch
|
|
sed -i \
|
|
-e "s:share/doc/ipython:share/doc/${PF}:" \
|
|
setupbase.py || die "sed failed"
|
|
if ! use doc; then
|
|
sed -i \
|
|
-e '/extensions/d' \
|
|
-e 's/+ manual_files//' \
|
|
setupbase.py || die "sed failed"
|
|
fi
|
|
if ! use examples; then
|
|
sed -i \
|
|
-e 's/+ example_files//' \
|
|
setupbase.py || die "sed failed"
|
|
fi
|
|
}
|
|
|
|
src_compile() {
|
|
distutils_src_compile
|
|
if use emacs; then
|
|
elisp-compile docs/emacs/ipython.el || die "elisp-compile failed"
|
|
fi
|
|
}
|
|
|
|
src_test() {
|
|
testing() {
|
|
"$(PYTHON)" setup.py build -b "build-${PYTHON_ABI}" install --home="${WORKDIR}/test-${PYTHON_ABI}" > /dev/null || die "Installation for tests failed with $(python_get_implementation) $(python_get_version)"
|
|
pushd "${WORKDIR}/test-${PYTHON_ABI}" > /dev/null
|
|
# First initialize .ipython stuff.
|
|
PATH="${WORKDIR}/test-${PYTHON_ABI}/bin:${PATH}" PYTHONPATH="${WORKDIR}/test-${PYTHON_ABI}/lib/python" ipython > /dev/null <<-EOF
|
|
EOF
|
|
# Run tests (-v for more verbosity).
|
|
PATH="${WORKDIR}/test-${PYTHON_ABI}/bin:${PATH}" PYTHONPATH="${WORKDIR}/test-${PYTHON_ABI}/lib/python" iptest -v
|
|
popd > /dev/null
|
|
}
|
|
python_execute_function testing
|
|
}
|
|
|
|
src_install() {
|
|
distutils_src_install
|
|
|
|
if use emacs; then
|
|
pushd docs/emacs > /dev/null
|
|
elisp-install ${PN} ${PN}.el* || die "elisp-install failed"
|
|
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
|
popd > /dev/null
|
|
fi
|
|
}
|
|
|
|
pkg_postinst() {
|
|
distutils_pkg_postinst
|
|
use emacs && elisp-site-regen
|
|
}
|
|
|
|
pkg_postrm() {
|
|
distutils_pkg_postrm
|
|
use emacs && elisp-site-regen
|
|
}
|