diff options
-rw-r--r-- | dev-python/lxml/Manifest | 1 | ||||
-rw-r--r-- | dev-python/lxml/lxml-3.8.0.ebuild | 80 |
2 files changed, 81 insertions, 0 deletions
diff --git a/dev-python/lxml/Manifest b/dev-python/lxml/Manifest index 3015b1f40e2c..f0eec6a639a8 100644 --- a/dev-python/lxml/Manifest +++ b/dev-python/lxml/Manifest @@ -1,3 +1,4 @@ DIST lxml-3.6.0.tar.gz 3693901 SHA256 9c74ca28a7f0c30dca8872281b3c47705e21217c8bc63912d95c9e2a7cac6bdf SHA512 2dd25a4f51e3e71b78e82e32f3838137d8b21936c23c16f901f4180277c4d4b7f14e1f47d306022cc1d13dc2e0b7f405319632e554aa989f551f424cc423d60d WHIRLPOOL 081c97bca209bc234dfb4e439da45ecde1cfd4c2da31384601c96293a5ab5def9d713bee612b4c84a5372d5b9035126ff6cbc496bd56b141f89b6a4fe916540b DIST lxml-3.6.4.tar.gz 3707675 SHA256 61d5d3e00b5821e6cda099b3b4ccfea4527bf7c595e0fb3a7a760490cedd6172 SHA512 0412b266d7a70af21f2e4e05d63c3ce63049661ef27e2bf190cbfe1e982b6980fe980a998a360796b958fa9e148ae5bb48136354d4b0bb042055340e37f61e1e WHIRLPOOL b9cd81c885a1b12c36b50f4d616214f1912baed7991a3178e9415bffff74277c849b2e7c82fd7f27fb984148267348f5a72088d0b175ebf2731a16b876988255 DIST lxml-3.7.3.tar.gz 3797713 SHA256 aa502d78a51ee7d127b4824ff96500f0181d3c7826e6ee7b800d068be79361c7 SHA512 9bf1142e81b6e1c8a47e296774d7e448d9ed47de3672f7442cc33274b07252baa47a9346efa9d2fda7b7bb66beb95bbc81f0ae16c9f808ff568f330991dd6d13 WHIRLPOOL d3881f308622ed8beb03a59bbf8256a55b92f5cf41c2c9a0c65c1e53acceea33ab93f420151330b09e8dbde3f717d5c095aa0275406355ec4a17105de46b6bae +DIST lxml-3.8.0.tar.gz 3795205 SHA256 736f72be15caad8116891eb6aa4a078b590d231fdc63818c40c21624ac71db96 SHA512 08f6f352e22ed2bc199a5f34a1c6b5f7b41ec282dc0026c9f16a06466c27e39e8eb18608ba4493636170eeac4b0194f7050445e1cc9bd0a4628573c404593088 WHIRLPOOL b09d7509ca55df74c5ced03ca91b72e0f373df6cb22331a452a35cfe3aa305bb9417280ae0b4835cd4abd29f7df465468799fa25c1b8d732152222c74fee51e1 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..2ab0055cd819 --- /dev/null +++ b/dev-python/lxml/lxml-3.8.0.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2017 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="http://lxml.de/ https://pypi.python.org/pypi/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 +} |