summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathy Vanvoorden <mathy@vanvoorden.be>2016-10-11 23:30:09 +0200
committerDavid Seifert <soap@gentoo.org>2016-10-14 23:29:23 +0200
commit7431927890255ab19e98f69ee6ed65962baf61cc (patch)
tree7bab7d89fc8309514c0059b25bbf6cd92b8b1b19 /dev-python/lxml
parentdev-python/lxml: revision bump to 3.6.4-r1 (diff)
downloadgentoo-7431927890255ab19e98f69ee6ed65962baf61cc.tar.gz
gentoo-7431927890255ab19e98f69ee6ed65962baf61cc.tar.bz2
gentoo-7431927890255ab19e98f69ee6ed65962baf61cc.zip
dev-python/lxml: disable broken test-case, EAPI upgrade
There is a test-case not working because of issues in libxml2. The patch disables the one broken test-case until upstream can fix it. Upstream bug: https://bugs.launchpad.net/lxml/+bug/1608479 Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=592860 Package-Manager: portage-2.3.0 Closes: https://github.com/gentoo/gentoo/pull/2539 Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'dev-python/lxml')
-rw-r--r--dev-python/lxml/files/lxml-3.6.4-fix-test_xmlschema.patch36
-rw-r--r--dev-python/lxml/lxml-3.6.4-r1.ebuild23
2 files changed, 53 insertions, 6 deletions
diff --git a/dev-python/lxml/files/lxml-3.6.4-fix-test_xmlschema.patch b/dev-python/lxml/files/lxml-3.6.4-fix-test_xmlschema.patch
new file mode 100644
index 00000000000..13f963ab2e2
--- /dev/null
+++ b/dev-python/lxml/files/lxml-3.6.4-fix-test_xmlschema.patch
@@ -0,0 +1,36 @@
+diff --git a/src/lxml/tests/test_xmlschema.py b/src/lxml/tests/test_xmlschema.py
+index 26d8432..b41c097 100644
+--- a/src/lxml/tests/test_xmlschema.py
++++ b/src/lxml/tests/test_xmlschema.py
+@@ -168,31 +168,6 @@ class ETreeXMLSchemaTestCase(HelperTestCase):
+ self.assertEqual('ho', root[2].get('hardy'))
+ self.assertEqual('hey', root[3].get('hardy'))
+
+- def test_xmlschema_parse_fixed_attributes(self):
+- # does not work as of libxml2 2.7.3
+- schema = self.parse('''
+-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+- <xsd:element name="a" type="AType"/>
+- <xsd:complexType name="AType">
+- <xsd:sequence minOccurs="3" maxOccurs="3">
+- <xsd:element name="b" type="BType" />
+- </xsd:sequence>
+- </xsd:complexType>
+- <xsd:complexType name="BType">
+- <xsd:attribute name="hardy" type="xsd:string" fixed="hey" />
+- </xsd:complexType>
+-</xsd:schema>
+-''')
+- schema = etree.XMLSchema(schema)
+- parser = etree.XMLParser(schema=schema, attribute_defaults=True)
+-
+- tree_valid = self.parse('<a><b/><b hardy="hey"/><b/></a>',
+- parser=parser)
+- root = tree_valid.getroot()
+- self.assertEqual('hey', root[0].get('hardy'))
+- self.assertEqual('hey', root[1].get('hardy'))
+- self.assertEqual('hey', root[2].get('hardy'))
+-
+ def test_xmlschema_stringio(self):
+ schema_file = BytesIO('''
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
diff --git a/dev-python/lxml/lxml-3.6.4-r1.ebuild b/dev-python/lxml/lxml-3.6.4-r1.ebuild
index e7102f6de81..5e963ca05fc 100644
--- a/dev-python/lxml/lxml-3.6.4-r1.ebuild
+++ b/dev-python/lxml/lxml-3.6.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
@@ -28,7 +28,15 @@ DEPEND="${RDEPEND}
DISTUTILS_IN_SOURCE_BUILD=1
-PATCHES=( "${FILESDIR}"/${PN}-3.5.0-cross-compile.patch )
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.5.0-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.
@@ -39,7 +47,7 @@ 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
@@ -51,7 +59,7 @@ python_test() {
cp -r -l src/lxml/html/tests "${BUILD_DIR}"/lib/lxml/html/ || die
ln -s "${S}"/doc "${BUILD_DIR}"/ || die
- "${PYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
+ "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
}
python_install_all() {
@@ -59,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
}