summaryrefslogtreecommitdiff
path: root/dev-python/lxml
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-python/lxml
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-python/lxml')
-rw-r--r--dev-python/lxml/Manifest11
-rw-r--r--dev-python/lxml/files/lxml-3.5.0-cross-compile.patch39
-rw-r--r--dev-python/lxml/files/lxml-3.6.4-fix-test_xmlschema.patch36
-rw-r--r--dev-python/lxml/lxml-3.8.0.ebuild80
-rw-r--r--dev-python/lxml/lxml-4.1.1.ebuild80
-rw-r--r--dev-python/lxml/lxml-4.2.0.ebuild72
-rw-r--r--dev-python/lxml/lxml-4.2.2.ebuild73
-rw-r--r--dev-python/lxml/metadata.xml11
8 files changed, 402 insertions, 0 deletions
diff --git a/dev-python/lxml/Manifest b/dev-python/lxml/Manifest
new file mode 100644
index 000000000000..e1df7d04cdb2
--- /dev/null
+++ b/dev-python/lxml/Manifest
@@ -0,0 +1,11 @@
+AUX lxml-3.5.0-cross-compile.patch 1518 BLAKE2B 70907747332021789933759d3e2620d7b70a223664608680663472b648e2da103362bcbba6ee025375579cc2699432a44fc9b44169ba9c830ad546ebd3abd451 SHA512 b53925979e554552e72e58e06df579d2eb0190cadc304d13766852eaaeec78641deb1ef10700a0b52aebbdc998979830413a76a56cf221bce2e9a24926e1680b
+AUX lxml-3.6.4-fix-test_xmlschema.patch 1483 BLAKE2B 95c7610f2626471ca76946993463eb243501916788f4812f4489ab86f3b49494298bfa780b4d06ff8fc75d46ecf969ae389e4e418631250b5c610225f46a11d9 SHA512 5ea10849df7966b8e1c55a699c1489f72714449de3564ee13b5d9410877db3691e82c1d37cb6ea60c30c2deac33bb839583f0bb81a3551baac39bf14ca066229
+DIST lxml-3.8.0.tar.gz 3795205 BLAKE2B 39f3edc7efe48bd569b636de89cfcd8f7e4e88e025fd5c21164e35edf110546112844a4ddb6cb1842649fb165de3b3880b0fdb7a23522a891b35390adf64c95b SHA512 08f6f352e22ed2bc199a5f34a1c6b5f7b41ec282dc0026c9f16a06466c27e39e8eb18608ba4493636170eeac4b0194f7050445e1cc9bd0a4628573c404593088
+DIST lxml-4.1.1.tar.gz 2380804 BLAKE2B 4d3c4ef0472c7af7bb4185142a8274b596dd55a908d41f5295d0a78031a7efb3aef8893ca739f8db0675e44d4b0c346746a2758d31a54825c06a153203599ab9 SHA512 9542e5206f9b2f9e072c52ef8e6cf44d1aaae8ae3e7ca7e820c1fac12e716503308ccb3cebc52155b4c93799f3ebca247781fc491524d004378bd26f5cddb9d1
+DIST lxml-4.2.0.tar.gz 4282112 BLAKE2B 5dd68d984097253fac4c35d59e7b687fa1bc0699946accb66687b94e0b3d807c7c555795486828307ccbadd87aa989b6bba2d2fc71cec27e8b8e52f2762c5548 SHA512 89c7dd5d36e8816008b22b25bb02275a008fcfe26f6fdeff139ac8394bd773035bf423b9d7c4233f19985e5a8c12f936b71096c55e28957e97da0810d88de8d3
+DIST lxml-4.2.2.tar.gz 4417798 BLAKE2B 9344e0d261d2d40d43e67d4f162ce7da466c924dc1ad69d7eca602c14d789c6531747079cc92058e28f320c8695a64333b5044d37fecb8c713b0feac97ecef90 SHA512 4723c70edfa97069cb476d30e4f9c97f77c560302bdb547b6c4b0e7eb8610dc28a5e47c99bba6d780fd7b1510c0daa5cfb2da40542aab4415ea59c2a378a6b71
+EBUILD lxml-3.8.0.ebuild 2251 BLAKE2B 7f1c829e269c81f869b58ecdbde614773eedbb7bb1a9fdf7954316890e643ab1c1afe6fbfe90fe1d46ba8d06a73e379067c0670a4fe6c34daaf777ad4f35a590 SHA512 5c7319a07e72d5f0b6299cb8b005d89dfadd056cf02cad9539a8e24cbc9f0de98f2d38bc8561dbe285fb76cff52c4dde87bf9166f3540a068590a78efd8f4678
+EBUILD lxml-4.1.1.ebuild 2255 BLAKE2B ac130330e175fc5639729716306218108619bf2e681e4f9338f08fee19a8687c76918a6cedfb967ba5279db1dd351b882c61a8785595e857eecfac7d4130211f SHA512 d46331d190b2a450a25f8049513b4eb949cefc664a432be3dbb3e9d1760706ce18ad3d6f59b858211be96cd022c1c31d5f434db5f34b8f20206403e41e2fbe1e
+EBUILD lxml-4.2.0.ebuild 2023 BLAKE2B cd8e6ffc8996b135e5dc32a50dcc9732c5f2f842c137efd277d01e690cbb0171d41122c5a437bd720663eb9708b7bccdf6a4bb176e9d568d88597497c2d768a1 SHA512 e9f906fd0c4f3b4e8b9e92a12d372bd9618a575bd0a33f94994cc30be4834b48ec68853ba5f85621e6b50bffbdbd17c758b90aa09a85b6a51ca76ea294ed5578
+EBUILD lxml-4.2.2.ebuild 2042 BLAKE2B 033e44fb889e4c192ea026a2e193b8471d9e6ff7ca43e297af1d850e05aecf61c9eeb108213b7db80bf77088b9280f85efd44daea62dc8a5fc5fa7dc7b71f5a6 SHA512 6ed96ee7688ffe9322e8f4d6a5aa9e20a267f66b69c11957920df4bfa1b7f2127b68b06332c11aaf83193efa33415da1fc3f1e0fd6b4361ce039a151fb07915c
+MISC metadata.xml 317 BLAKE2B ba93bbba5105423b6640b86b29f2a54ff50c9daf42424915cfe25049e983ca03c6f2fc066d4e27fe42292e8290b7091bc00d5a40f49d368a3dd6acce42c4504e SHA512 900609bfd7cd032821afb5d1f6e5c25287178f06a49e59431a710d4e76187a2b41a4a0da383d257777a2120b60f15620da37c70d145eca4a84aa30a08b824fae
diff --git a/dev-python/lxml/files/lxml-3.5.0-cross-compile.patch b/dev-python/lxml/files/lxml-3.5.0-cross-compile.patch
new file mode 100644
index 000000000000..82a371c72978
--- /dev/null
+++ b/dev-python/lxml/files/lxml-3.5.0-cross-compile.patch
@@ -0,0 +1,39 @@
+ setupinfo.py | 18 +++---------------
+ 1 file changed, 3 insertions(+), 15 deletions(-)
+
+diff --git a/setupinfo.py b/setupinfo.py
+index e04c38f..0549eaa 100644
+--- a/setupinfo.py
++++ b/setupinfo.py
+@@ -93,19 +93,6 @@ def ext_modules(static_include_dirs, static_library_dirs,
+ source_extension = ".c"
+ print("Building without Cython.")
+
+- lib_versions = get_library_versions()
+- versions_ok = True
+- if lib_versions[0]:
+- print("Using build configuration of libxml2 %s and libxslt %s" %
+- lib_versions)
+- versions_ok = check_min_version(lib_versions[0], (2, 7, 0), 'libxml2')
+- else:
+- print("Using build configuration of libxslt %s" %
+- lib_versions[1])
+- versions_ok |= check_min_version(lib_versions[1], (1, 1, 23), 'libxslt')
+- if not versions_ok:
+- raise RuntimeError("Dependency missing")
+-
+ base_dir = get_base_dir()
+ _include_dirs = _prefer_reldirs(
+ base_dir, include_dirs(static_include_dirs) + [INCLUDE_PACKAGE_PATH])
+@@ -358,8 +345,9 @@ def get_library_versions():
+
+
+ def flags(option):
+- xml2_flags = run_command(find_xml2_config(), "--%s" % option)
+- xslt_flags = run_command(find_xslt_config(), "--%s" % option)
++ pkg_config = os.environ.get('PKG_CONFIG', 'pkg-config')
++ xml2_flags = run_command(pkg_config, 'libxml-2.0', '--%s' % option)
++ xslt_flags = run_command(pkg_config, 'libxslt', '--%s' % option)
+
+ flag_list = xml2_flags.split()
+ for flag in xslt_flags.split():
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.8.0.ebuild b/dev-python/lxml/lxml-3.8.0.ebuild
new file mode 100644
index 000000000000..117931f3bce0
--- /dev/null
+++ b/dev-python/lxml/lxml-3.8.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+
+inherit distutils-r1 eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="https://lxml.de/ https://pypi.org/project/lxml/ https://github.com/lxml/lxml"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples +threads test"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+RDEPEND="
+ >=dev-libs/libxml2-2.9.2
+ >=dev-libs/libxslt-1.1.28"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/cssselect[${PYTHON_USEDEP}] )
+ "
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+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.
+ sed -i '/sys\.path/d' test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if [[ ${EPYTHON} != python3* ]]; then
+ local -x CFLAGS="${CFLAGS}"
+ append-cflags -fno-strict-aliasing
+ fi
+ tc-export PKG_CONFIG
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cp -r -l src/lxml/tests "${BUILD_DIR}"/lib/lxml/ || die
+ cp -r -l src/lxml/html/tests "${BUILD_DIR}"/lib/lxml/html/ || die
+ ln -s "${S}"/doc "${BUILD_DIR}"/ || die
+
+ "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use doc; then
+ local DOCS=( *.txt doc/*.txt )
+ local HTML_DOCS=( doc/html/. )
+ fi
+ if use examples; then
+ docinto examples
+ dodoc -r samples/.
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Support for BeautifulSoup3 as a parser backend" dev-python/beautifulsoup
+ optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
+}
diff --git a/dev-python/lxml/lxml-4.1.1.ebuild b/dev-python/lxml/lxml-4.1.1.ebuild
new file mode 100644
index 000000000000..c2534ff1fe52
--- /dev/null
+++ b/dev-python/lxml/lxml-4.1.1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
+
+inherit distutils-r1 eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="https://lxml.de/ https://pypi.org/project/lxml/ https://github.com/lxml/lxml"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples +threads test"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+RDEPEND="
+ >=dev-libs/libxml2-2.9.2
+ >=dev-libs/libxslt-1.1.28"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/cssselect[${PYTHON_USEDEP}] )
+ "
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+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.
+ sed -i '/sys\.path/d' test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if [[ ${EPYTHON} != python3* ]]; then
+ local -x CFLAGS="${CFLAGS}"
+ append-cflags -fno-strict-aliasing
+ fi
+ tc-export PKG_CONFIG
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cp -r -l src/lxml/tests "${BUILD_DIR}"/lib/lxml/ || die
+ cp -r -l src/lxml/html/tests "${BUILD_DIR}"/lib/lxml/html/ || die
+ ln -s "${S}"/doc "${BUILD_DIR}"/ || die
+
+ "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use doc; then
+ local DOCS=( *.txt doc/*.txt )
+ local HTML_DOCS=( doc/html/. )
+ fi
+ if use examples; then
+ docinto examples
+ dodoc -r samples/.
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Support for BeautifulSoup3 as a parser backend" dev-python/beautifulsoup
+ optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
+}
diff --git a/dev-python/lxml/lxml-4.2.0.ebuild b/dev-python/lxml/lxml-4.2.0.ebuild
new file mode 100644
index 000000000000..7e43d465d4a8
--- /dev/null
+++ b/dev-python/lxml/lxml-4.2.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
+
+inherit distutils-r1 eutils toolchain-funcs
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="https://lxml.de/ https://pypi.org/project/lxml/ https://github.com/lxml/lxml"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples +threads test"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+RDEPEND="
+ >=dev-libs/libxml2-2.9.5
+ >=dev-libs/libxslt-1.1.28"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/cssselect[${PYTHON_USEDEP}] )
+ "
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.5.0-cross-compile.patch
+)
+
+python_prepare_all() {
+ # avoid replacing PYTHONPATH in tests.
+ sed -i '/sys\.path/d' test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ fi
+ tc-export PKG_CONFIG
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cp -r -l src/lxml/tests "${BUILD_DIR}"/lib/lxml/ || die
+ cp -r -l src/lxml/html/tests "${BUILD_DIR}"/lib/lxml/html/ || die
+ ln -s "${S}"/doc "${BUILD_DIR}"/ || die
+
+ "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use doc; then
+ local DOCS=( README.rst *.txt doc/*.txt )
+ local HTML_DOCS=( doc/html/. )
+ fi
+ if use examples; then
+ dodoc -r samples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Support for BeautifulSoup3 as a parser backend" dev-python/beautifulsoup
+ optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
+}
diff --git a/dev-python/lxml/lxml-4.2.2.ebuild b/dev-python/lxml/lxml-4.2.2.ebuild
new file mode 100644
index 000000000000..f4a36d5d252e
--- /dev/null
+++ b/dev-python/lxml/lxml-4.2.2.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
+
+inherit distutils-r1 eutils toolchain-funcs
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="https://lxml.de/ https://pypi.org/project/lxml/ https://github.com/lxml/lxml"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples +threads test"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+RDEPEND="
+ >=dev-libs/libxml2-2.9.5
+ >=dev-libs/libxslt-1.1.28"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? ( dev-python/cssselect[${PYTHON_USEDEP}] )
+ "
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.5.0-cross-compile.patch
+)
+
+python_prepare_all() {
+ # avoid replacing PYTHONPATH in tests.
+ sed -i '/sys\.path/d' test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! python_is_python3; then
+ local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
+ fi
+ tc-export PKG_CONFIG
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cp -r -l src/lxml/tests "${BUILD_DIR}"/lib/lxml/ || die
+ cp -r -l src/lxml/html/tests "${BUILD_DIR}"/lib/lxml/html/ || die
+ ln -s "${S}"/doc "${BUILD_DIR}"/ || die
+
+ "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use doc; then
+ local DOCS=( README.rst *.txt doc/*.txt )
+ local HTML_DOCS=( doc/html/. )
+ fi
+ if use examples; then
+ dodoc -r samples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Support for BeautifulSoup3 as a parser backend" dev-python/beautifulsoup
+ optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
+}
diff --git a/dev-python/lxml/metadata.xml b/dev-python/lxml/metadata.xml
new file mode 100644
index 000000000000..ed72c69d7530
--- /dev/null
+++ b/dev-python/lxml/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">lxml</remote-id>
+ </upstream>
+</pkgmetadata>