diff options
Diffstat (limited to 'dev-python/logilab-common/logilab-common-0.44.0.ebuild')
-rw-r--r-- | dev-python/logilab-common/logilab-common-0.44.0.ebuild | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/dev-python/logilab-common/logilab-common-0.44.0.ebuild b/dev-python/logilab-common/logilab-common-0.44.0.ebuild new file mode 100644 index 000000000000..ac82cbf21d86 --- /dev/null +++ b/dev-python/logilab-common/logilab-common-0.44.0.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-python/logilab-common/logilab-common-0.44.0.ebuild,v 1.1 2009/08/25 14:40:26 arfrever Exp $ + +EAPI="2" +SUPPORT_PYTHON_ABIS="1" + +inherit distutils eutils python + +DESCRIPTION="useful miscellaneous modules used by Logilab projects" +HOMEPAGE="http://www.logilab.org/projects/common/" +SRC_URI="ftp://ftp.logilab.org/pub/common/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="test" + +DEPEND="test? ( dev-python/egenix-mx-base )" +RDEPEND="" + +RESTRICT_PYTHON_ABIS="3*" + +PYTHON_MODNAME="logilab" +# Extra documentation (html/pdf) needs some love + +pkg_setup() { + # Tests using dev-python/psycopg are skipped when dev-python/psycopg isn't installed. + if use test && has_version dev-python/psycopg && ! has_version dev-python/psycopg[mxdatetime]; then + die "dev-python/psycopg should be installed with USE=\"mxdatetime\"" + fi +} + +src_prepare() { + distutils_src_prepare + + epatch "${FILESDIR}/${PN}-0.41.0-remove-broken-tests.patch" +} + +src_test() { + testing() { + # Install temporarily. + local tpath="${T}/test-${PYTHON_ABI}" + local lpath="${tpath}/lib/python" + + # setuptools would fail if the directory doesn't exist. + mkdir -p "${lpath}" || die + + # We also have to add ${lpath} to PYTHONPATH else the installation would + # fail. + PYTHONPATH="${lpath}" "$(PYTHON)" setup.py build -b "build-${PYTHON_ABI}" install --home="${tpath}" || die "test copy failed" + + # Get a rid of precompiled files to ensure we run our _modified_ tests + find ${lpath} -type f -name '*.pyc' -exec rm {} ';' + + # Remove a botched tests. + # To support test w/o setuptools. + if [[ -d "${lpath}/${PN/-//}" ]]; then + pushd "${lpath}/${PN/-//}" >/dev/null || die + else + pushd "${lpath}/${P/-/_}-py${PYTHON_ABI}.egg/${PN/-//}" >/dev/null || die + fi + + # Bug 223079 + if [[ "${EUID}" -eq 0 ]]; then + rm test/unittest_fileutils.py || die + fi + + popd >/dev/null || die + + # It picks up the tests relative to the current dir, so cd in. Do + # not cd in too far though (to logilab/common for example) or some + # relative/absolute module location tests fail. + pushd "${lpath}" >/dev/null || die + PYTHONPATH="${lpath}" "$(PYTHON)" "${tpath}/bin/pytest" -v || die "tests failed" + popd >/dev/null || die + } + python_execute_function testing +} + +src_install() { + distutils_src_install + + doman doc/pytest.1 || die "doman failed" + + # Remove unittests since they're just needed during build-time + rm -rf "${D}"usr/lib*/python*/site-packages/${PN/-//}/test || die +} |