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: Tue, 02 Nov 2021 22:59:24
Message-Id: 1635893949.5fff0082743ecd13049cb14f170aa5d9dc887f28.mgorny@gentoo
1 commit: 5fff0082743ecd13049cb14f170aa5d9dc887f28
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Tue Nov 2 20:47:54 2021 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Tue Nov 2 22:59:09 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fff0082
7
8 dev-python/lxml: Bump to 4.6.4
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.6.4.ebuild | 97 +++++++++++++++++++++++++++++++++++++++
14 2 files changed, 98 insertions(+)
15
16 diff --git a/dev-python/lxml/Manifest b/dev-python/lxml/Manifest
17 index c59350fa14f..2beb210c3e8 100644
18 --- a/dev-python/lxml/Manifest
19 +++ b/dev-python/lxml/Manifest
20 @@ -1 +1,2 @@
21 DIST lxml-4.6.3.tar.gz 948931 BLAKE2B 373248827cb6bc0698b632ef60978adb2b8f7c37444fa1804567f08eb669018dc38fadf52422262fd96280e88c59578d244e4c5a1ed55609af55c010b3bf2b09 SHA512 50e42d6269dc45b4c0ab3285c49307f8bee87fcc4b9e0f531e1ee37bcf83c5938b7e361f906a3158fac8df89a79b932dd64a8839455e45f45f3a5f0ba73ff6a5
22 +DIST lxml-4.6.4.tar.gz 953275 BLAKE2B 7dae0fe0c92c937d823429b32ae952e501e193835892d40746aa35e48586df4e497865f246362ef10430cc9187cd54f98078b7edcc0fd9f421ac9d15994e7b2a SHA512 4e62b7c9ceec47f490136e86e9875aae3f3dccd0ee5e504f8128c62cdb111e00e64ee35678028438b87d32253fdeb8e1184d4017b56e06dfbc93cd0e8736101f
23
24 diff --git a/dev-python/lxml/lxml-4.6.4.ebuild b/dev-python/lxml/lxml-4.6.4.ebuild
25 new file mode 100644
26 index 00000000000..5669cfb3cd0
27 --- /dev/null
28 +++ b/dev-python/lxml/lxml-4.6.4.ebuild
29 @@ -0,0 +1,97 @@
30 +# Copyright 1999-2021 Gentoo Authors
31 +# Distributed under the terms of the GNU General Public License v2
32 +
33 +EAPI=8
34 +
35 +PYTHON_COMPAT=( python3_{8..10} pypy3 )
36 +
37 +inherit distutils-r1 optfeature toolchain-funcs
38 +
39 +DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
40 +HOMEPAGE="https://lxml.de/ https://pypi.org/project/lxml/ https://github.com/lxml/lxml"
41 +SRC_URI="https://github.com/lxml/lxml/archive/${P}.tar.gz"
42 +S=${WORKDIR}/lxml-${P}
43 +
44 +LICENSE="BSD ElementTree GPL-2 PSF-2"
45 +SLOT="0"
46 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
47 +IUSE="doc examples +threads test"
48 +RESTRICT="!test? ( test )"
49 +
50 +# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
51 +RDEPEND="
52 + >=dev-libs/libxml2-2.9.12-r2
53 + >=dev-libs/libxslt-1.1.28"
54 +DEPEND="${RDEPEND}"
55 +BDEPEND="
56 + virtual/pkgconfig
57 + dev-python/cython[${PYTHON_USEDEP}]
58 + doc? (
59 + $(python_gen_any_dep '
60 + dev-python/docutils[${PYTHON_USEDEP}]
61 + dev-python/pygments[${PYTHON_USEDEP}]
62 + dev-python/sphinx[${PYTHON_USEDEP}]
63 + dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
64 + ')
65 + )
66 + test? ( dev-python/cssselect[${PYTHON_USEDEP}] )
67 + "
68 +
69 +DISTUTILS_IN_SOURCE_BUILD=1
70 +
71 +PATCHES=(
72 + "${FILESDIR}"/${PN}-4.6.0-tests-pypy.patch
73 +)
74 +
75 +python_check_deps() {
76 + use doc || return 0
77 + has_version "dev-python/docutils[${PYTHON_USEDEP}]" &&
78 + has_version "dev-python/pygments[${PYTHON_USEDEP}]" &&
79 + has_version "dev-python/sphinx[${PYTHON_USEDEP}]" &&
80 + has_version "dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]"
81 +}
82 +
83 +python_prepare_all() {
84 + # avoid replacing PYTHONPATH in tests.
85 + sed -i -e '/sys\.path/d' test.py || die
86 +
87 + # don't use some random SDK on Darwin
88 + sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
89 + setupinfo.py || die
90 +
91 + distutils-r1_python_prepare_all
92 +}
93 +
94 +python_compile() {
95 + tc-export PKG_CONFIG
96 + distutils-r1_python_compile
97 +}
98 +
99 +python_compile_all() {
100 + use doc && emake html
101 +}
102 +
103 +python_test() {
104 + cp -r -l src/lxml/tests "${BUILD_DIR}"/lib/lxml/ || die
105 + cp -r -l src/lxml/html/tests "${BUILD_DIR}"/lib/lxml/html/ || die
106 + ln -s "${S}"/doc "${BUILD_DIR}"/ || die
107 +
108 + "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
109 +}
110 +
111 +python_install_all() {
112 + if use doc; then
113 + local DOCS=( README.rst *.txt doc/*.txt )
114 + local HTML_DOCS=( doc/html/. )
115 + fi
116 + if use examples; then
117 + dodoc -r samples
118 + fi
119 +
120 + distutils-r1_python_install_all
121 +}
122 +
123 +pkg_postinst() {
124 + optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
125 + optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
126 +}