diff options
-rw-r--r-- | dev-python/lxml/files/lxml-3.6.4-fix-test_xmlschema.patch | 36 | ||||
-rw-r--r-- | dev-python/lxml/lxml-3.6.4-r1.ebuild | 23 |
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 000000000000..13f963ab2e2f --- /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 e7102f6de81b..5e963ca05fc9 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 } |