Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/lxml/
Date: Wed, 29 Jan 2020 08:12:14
Message-Id: 1580285527.323635113e9babbfbc113c1e09b384713fb734dc.mgorny@gentoo
1 commit: 323635113e9babbfbc113c1e09b384713fb734dc
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jan 29 07:05:39 2020 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Wed Jan 29 08:12:07 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32363511
7
8 dev-python/lxml: Bump to 4.4.3
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 dev-python/lxml/Manifest | 1 +
13 dev-python/lxml/lxml-4.4.3.ebuild | 82 +++++++++++++++++++++++++++++++++++++++
14 2 files changed, 83 insertions(+)
15
16 diff --git a/dev-python/lxml/Manifest b/dev-python/lxml/Manifest
17 index 25c84c3ecd9..289b42a9f0b 100644
18 --- a/dev-python/lxml/Manifest
19 +++ b/dev-python/lxml/Manifest
20 @@ -1,2 +1,3 @@
21 DIST lxml-4.3.3.tar.gz 4378439 BLAKE2B 30c2a29e58951164fbff1c9d23362d46987c86b671e0cfa6cf15cbbb3db23ead856786babe57ce553f7b8a66d8ac333410ea1bb3b8b521aac43a038b90daf488 SHA512 cbc1cd30bac4b9ac845d99949c8c231a7870398f942695df5a00586d70d0f6b6ebd457a1a9306806af7d0fd521a14c54d266902943263927a0d940abc3cdf5c0
22 DIST lxml-4.4.2.tar.gz 940286 BLAKE2B 28366d1673b356f980cedc64839f070e8166906705bc948af24bba369153accc0a4cea0372e87530227be88a89a0dab4d23308b75fd695f55fdb73e6326aa03b SHA512 af6608df7e47513644b841ecb6291e655122927cb439bd2ae694fd344cf5dca621e3e1ce6b40accc6db9e0c4383b5b3e6c6f9ff19f35c4daf30f119a217113ca
23 +DIST lxml-4.4.3.tar.gz 940482 BLAKE2B 9ece0314d7b8ef82d70e83f6b77e4abef99d486a0168497f1f97e6a93d81d58e522e259d3569373d2429ac3190a642e8d1107dbae29ca20ec56636f7576545b6 SHA512 7b07450a243595bd412a43e73a55fafda0e6a6e41ed47c5488ee8e6cbd04d48a93db1b06f8b646bdc6377cad063aa53781cf41e3048f9dd7a62ccecc20900298
24
25 diff --git a/dev-python/lxml/lxml-4.4.3.ebuild b/dev-python/lxml/lxml-4.4.3.ebuild
26 new file mode 100644
27 index 00000000000..83107898492
28 --- /dev/null
29 +++ b/dev-python/lxml/lxml-4.4.3.ebuild
30 @@ -0,0 +1,82 @@
31 +# Copyright 1999-2020 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=7
35 +
36 +PYTHON_COMPAT=( python2_7 python3_{6,7,8} pypy3 )
37 +
38 +inherit distutils-r1 eutils toolchain-funcs
39 +
40 +DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
41 +HOMEPAGE="https://lxml.de/ https://pypi.org/project/lxml/ https://github.com/lxml/lxml"
42 +SRC_URI="https://github.com/lxml/lxml/archive/${P}.tar.gz"
43 +S=${WORKDIR}/lxml-${P}
44 +
45 +LICENSE="BSD ElementTree GPL-2 PSF-2"
46 +SLOT="0"
47 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
48 +IUSE="doc examples +threads test"
49 +RESTRICT="!test? ( test )"
50 +
51 +# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
52 +RDEPEND="
53 + >=dev-libs/libxml2-2.9.5
54 + >=dev-libs/libxslt-1.1.28"
55 +DEPEND="${RDEPEND}"
56 +BDEPEND="
57 + virtual/pkgconfig
58 + $(python_gen_cond_dep 'dev-python/cython[${PYTHON_USEDEP}]' python2_7 'python3*')
59 + dev-python/setuptools[${PYTHON_USEDEP}]
60 + test? ( dev-python/cssselect[${PYTHON_USEDEP}] )
61 + "
62 +
63 +DISTUTILS_IN_SOURCE_BUILD=1
64 +
65 +PATCHES=(
66 + "${FILESDIR}"/${PN}-3.5.0-cross-compile.patch
67 + "${FILESDIR}"/${PN}-4.4.2-tests-pypy.patch
68 +)
69 +
70 +python_prepare_all() {
71 + # avoid replacing PYTHONPATH in tests.
72 + sed -i -e '/sys\.path/d' test.py || die
73 +
74 + # don't use some random SDK on Darwin
75 + sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
76 + setupinfo.py || die
77 +
78 + distutils-r1_python_prepare_all
79 +}
80 +
81 +python_compile() {
82 + if ! python_is_python3; then
83 + local -x CFLAGS="${CFLAGS} -fno-strict-aliasing"
84 + fi
85 + tc-export PKG_CONFIG
86 + distutils-r1_python_compile
87 +}
88 +
89 +python_test() {
90 + cp -r -l src/lxml/tests "${BUILD_DIR}"/lib/lxml/ || die
91 + cp -r -l src/lxml/html/tests "${BUILD_DIR}"/lib/lxml/html/ || die
92 + ln -s "${S}"/doc "${BUILD_DIR}"/ || die
93 +
94 + "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
95 +}
96 +
97 +python_install_all() {
98 + if use doc; then
99 + local DOCS=( README.rst *.txt doc/*.txt )
100 + local HTML_DOCS=( doc/html/. )
101 + fi
102 + if use examples; then
103 + dodoc -r samples
104 + fi
105 +
106 + distutils-r1_python_install_all
107 +}
108 +
109 +pkg_postinst() {
110 + optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup
111 + optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
112 +}