# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="5" PYTHON_COMPAT=( python{2_6,2_7} ) PYTHON_REQ_USE="threads,ssl,xml" inherit bash-completion-r1 distutils-r1 eutils flag-o-matic versionator MY_P=${PN}-${PV} SERIES=$(get_version_component_range 1-2) DESCRIPTION="Bazaar is a next generation distributed version control system." HOMEPAGE="http://bazaar-vcs.org/" SRC_URI="http://launchpad.net/bzr/${SERIES}/${PV}/+download/${MY_P}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="amd64 x86" IUSE="curl doc +sftp test" RDEPEND="curl? ( dev-python/pycurl[${PYTHON_USEDEP}] ) sftp? ( dev-python/paramiko[${PYTHON_USEDEP}] )" DEPEND="test? ( ${RDEPEND} >=dev-python/pyftpdlib-0.7.0[${PYTHON_USEDEP}] dev-python/subunit >=dev-python/testtools-0.9.5[${PYTHON_USEDEP}] )" S="${WORKDIR}/${MY_P}" # Fails tests bug#487216 # Upstream is not exactly keen on fixing it RESTRICT="test" python_configure_all() { # Generate the locales first to avoid a race condition. esetup.py build_mo } python_compile() { if [[ ${EPYTHON} != python3* ]]; then local CFLAGS=${CFLAGS} append-cflags -fno-strict-aliasing fi distutils-r1_python_compile } src_test() { # Race due to conflicting ports in # blackbox.test_serve.TestBzrServe.test_bzr_serve*. DISTUTILS_NO_PARALLEL_BUILD=1 distutils-r1_src_test } python_test() { # Some tests expect the usual pyc compiling behaviour. local -x PYTHONDONTWRITEBYTECODE # Define tests which are known to fail below. local skip_tests="(" # https://bugs.launchpad.net/bzr/+bug/850676 skip_tests+="per_transport.TransportTests.test_unicode_paths.*" skip_tests+=")" if [[ -n ${skip_tests} ]]; then einfo "Skipping tests known to fail: ${skip_tests}" fi LC_ALL="C" "${PYTHON}" bzr --no-plugins selftest -v \ ${skip_tests:+-x} "${skip_tests}" || die "Tests fail with ${EPYTHON}" } python_install_all() { distutils-r1_python_install_all # Fixup manpages manually; passing --install-data causes locales to be # installed in /usr/share/share/locale dodir /usr/share mv "${ED%/}"/usr/{man,share/man} || die dodoc doc/*.txt if use doc; then docinto developers dodoc -r doc/developers/* || die for doc in mini-tutorial tutorials user-{guide,reference}; do docinto ${doc} dodoc -r doc/en/${doc}/* || die done fi dobashcomp contrib/bash/bzr || die }