diff --git a/dev-python/lxml/lxml-3.4.4-r1.ebuild b/dev-python/lxml/lxml-3.4.4-r1.ebuild index 522ba3634e775..f6c571b66ccfe 100644 --- a/dev-python/lxml/lxml-3.4.4-r1.ebuild +++ b/dev-python/lxml/lxml-3.4.4-r1.ebuild @@ -2,9 +2,9 @@ # Distributed under the terms of the GNU General Public License v2 # $Id$ -EAPI=5 +EAPI=6 -PYTHON_COMPAT=( python2_7 python3_{3,4,5} ) +PYTHON_COMPAT=( python2_7 python3_{4,5} ) inherit distutils-r1 eutils flag-o-matic toolchain-funcs @@ -25,25 +25,29 @@ DEPEND="${RDEPEND} dev-python/setuptools[${PYTHON_USEDEP}] test? ( dev-python/cssselect[${PYTHON_USEDEP}] ) " -# lxml tarball contains files pregenerated by Cython. DISTUTILS_IN_SOURCE_BUILD=1 -python_prepare_all() { - epatch "${FILESDIR}"/${P}-cross-compile.patch +PATCHES=( + "${FILESDIR}"/${P}-cross-compile.patch + # This patch removes a testcase that fails because of issues + # in libxml2. + # + # Upstream bug: https://bugs.launchpad.net/lxml/+bug/1608479 + "${FILESDIR}"/${PN}-3.6.4-fix-test_xmlschema.patch +) + +python_prepare_all() { # avoid replacing PYTHONPATH in tests. sed -i '/sys\.path/d' test.py || die - # seems to be broken - rm src/lxml/tests/test_elementpath.py || die - distutils-r1_python_prepare_all } python_compile() { if [[ ${EPYTHON} != python3* ]]; then - local CFLAGS=${CFLAGS} + local -x CFLAGS="${CFLAGS}" append-cflags -fno-strict-aliasing fi tc-export PKG_CONFIG @@ -55,11 +59,7 @@ python_test() { cp -r -l src/lxml/html/tests "${BUILD_DIR}"/lib/lxml/html/ || die ln -s "${S}"/doc "${BUILD_DIR}"/ || die - local test - for test in test.py selftest.py selftest2.py; do - einfo "Running ${test}" - "${PYTHON}" ${test} -vv -p || die "Test ${test} fails with ${EPYTHON}" - done + "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}" } python_install_all() { @@ -67,7 +67,10 @@ python_install_all() { local DOCS=( *.txt doc/*.txt ) local HTML_DOCS=( doc/html/. ) fi - use examples && local EXAMPLES=( samples/. ) + if use examples; then + docinto examples + dodoc -r samples/. + fi distutils-r1_python_install_all }