| Name |
python-lxml |
| Description |
Python binding for the libxml2 and libxslt libraries |
| Version |
6.0.2-2 |
| Package Base |
python-lxml |
| Homepage |
https://lxml.de/ |
| Maintainers |
['Felix Yan <felixonmars@archlinux.org>', 'George Rawlinson <grawlinson@archlinux.org>', 'Jelle van der Waa <jelle@archlinux.org>'] |
| Contributors |
['Angel Velasquez <angvp@archlinux.org>'] |
| Distro-repo |
https://gitlab.archlinux.org/archlinux/packaging/packages/python-lxml |
| Sources |
['python-lxml::git+https://github.com/lxml/lxml#tag=lxml-6.0.2'] |
| Dependencies |
['glibc', 'libxml2', 'libxslt', 'python'] |
| Optional-Dependencies |
['python-beautifulsoup4', 'python-cssselect', 'python-html5lib', 'python-lxml-docs', 'python-lxml-html-clean'] |
| Build-Dependencies |
['git', 'python-build', 'python-installer', 'python-setuptools', 'python-wheel', 'python-pygments', 'python-sphinx', 'python-sphinx_rtd_theme', 'cython'] |
| Provides |
[] |
| Builddate |
14-12-2025 18:17:24 |
| Architecture |
x86_64 |
| Distro-Version |
|
| Licenses |
['BSD-3-Clause', 'GPL-2.0-only', 'LicenseRef-RNG2Schtrn', 'LicenseRef-XSD2Schtrn', 'MIT', 'MIT-CMU'] |
| Hash |
c1105a27aa7f19b1f255f8f1a5642d9c8a206b4dcf396de95981448c3a41b511 |
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Maintainer: Jelle van der Waa <jelle@archlinux.org>
# Maintainer: George Rawlinson <grawlinson@archlinux.org>
# Contributor: Angel Velasquez <angvp@archlinux.org>
pkgbase=python-lxml
pkgname=('python-lxml' 'python-lxml-docs')
pkgver=6.0.2
pkgrel=2
pkgdesc="Python binding for the libxml2 and libxslt libraries"
arch=('x86_64')
license=(
'BSD-3-Clause'
'MIT'
'MIT-CMU'
'GPL-2.0-only'
'LicenseRef-RNG2Schtrn'
'LicenseRef-XSD2Schtrn'
)
url="https://lxml.de/"
depends=(
'glibc'
'python'
'libxslt'
'libxml2'
)
optdepends=(
'python-beautifulsoup4: support for beautifulsoup parser to parse not well formed HTML'
'python-cssselect: support for cssselect'
'python-html5lib: support for html5lib parser'
'python-lxml-docs: offline docs'
'python-lxml-html-clean: enable htmlclean feature'
)
makedepends=(
'git'
'python-build'
'python-installer'
'python-setuptools'
'python-wheel'
'python-pygments'
'python-sphinx'
'python-sphinx_rtd_theme'
'cython'
)
checkdepends=(
'python-cssselect'
'python-html5lib'
'python-beautifulsoup4'
'python-lxml-html-clean'
)
source=("$pkgbase::git+https://github.com/lxml/lxml#tag=lxml-$pkgver")
sha512sums=('1ebc9631c4c7eb03027e8ad4b22c0e6d226008c083a19e3eca06eab1143a74b0230a550fd45fbd5b53357329a657e6aaeb43aca6c89e932d4637c0a01a548668')
b2sums=('25d234d28bafcd74cdd7083c7475db9cce57e6478aaf33654d71fb8d1a04520caf18b5b25c20040795efd738cdc6448db227a19075247373c923f056f21e3abf')
prepare() {
cd "$pkgbase"
# Setting LC_CTYPE to workaround encoding issue
export LC_CTYPE=en_US.UTF-8
# extract licenses
sed -n '/^<!--/,/^-->/p' src/lxml/isoschematron/resources/rng/iso-schematron.rng \
> iso-schematron.rng.license
sed -n '/^The MIT License/,/^THE SOFTWARE\./p' src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl \
> iso_abstract_expand.xsl.license
sed -n '/LEGAL INFORMATION/,/3\./p' src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl \
> iso_dsdl_include.xsl.license
sed -n '/Copyright/,/3\./p' src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl \
> iso_schematron_message.xsl.license
sed -n '/LEGAL INFORMATION/,/3\./p' src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl \
> iso_schematron_skeleton_for_xslt1.xsl.license
sed -n '/Copyright/,/3\./p' src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl \
> iso_svrl_for_xslt1.xsl.license
sed -n '/^<!--/,/^-->/p' src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl \
> RNG2Schtrn.xsl.license
sed -n '/^<!--/,/^-->/p' src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl \
> XSD2Schtrn.xsl.license
# https://github.com/lxml/lxml/pull/470
git cherry-pick --no-commit a0a1dfe8e37836074f65f6f889bb102145951172
}
build() {
cd "$pkgbase"
python -m build --wheel --no-isolation
# create documentation
make html
}
check() {
# TODO: Find a sane way to skip inplace build
cd "$pkgbase"
make PYTHON=python test
}
package_python-lxml() {
cd "$pkgbase"
python -m installer --destdir="$pkgdir" dist/*.whl
# licenses
install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" \
LICENSES.txt \
doc/licenses/BSD.txt \
doc/licenses/elementtree.txt \
./*.license
}
package_python-lxml-docs() {
pkgdesc="Python binding for the libxml2 and libxslt libraries (docs)"
depends=()
options=('docs')
cd "$pkgbase"
# documentation
install -d "$pkgdir"/usr/share/doc/$pkgbase
cp -r doc/html "$pkgdir"/usr/share/doc/$pkgbase
# licenses
install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" \
LICENSES.txt \
doc/licenses/BSD.txt \
doc/licenses/elementtree.txt \
./*.license
}