%global modname lxml
%global _description \
The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt. \
It is unique in that it combines the speed and XML feature completeness of these libraries with \
the simplicity of a native Python API, mostly compatible but superior to the well-known ElementTree API. \
The latest release works with all CPython versions from 2.7 to 3.7.

Name:           python-%{modname}
Version:        4.7.1
Release:        6
Summary:        XML processing library combining libxml2/libxslt with the ElementTree API
License:        BSD
URL:            https://files.pythonhosted.org
Source0:        https://files.pythonhosted.org/packages/source/l/lxml/lxml-%{version}.tar.gz

Patch6000:      backport-CVE-2022-2309.patch
Patch6001:      backport-Work-around-libxml2-bug-in-affected-versions.patch
Patch6002:      Fix-test_elementtree-with-Expat-2.6.0.patch
Patch6003:      backport-CVE-2024-37388.patch
Patch6004:      backport-Change-HTML-prefix-handling-in-ElementPath-to-let-el.patch

BuildRequires:  gcc libxml2-devel libxslt-devel

%description %{_description}


%package -n     python3-%{modname}
Summary:        %{summary}
BuildRequires:  python3-devel python3-setuptools python3-Cython
%{?python_provide:%python_provide python3-%{modname}}

%description -n python3-%{modname} %{_description}

%package_help

%prep
%autosetup -n %{modname}-%{version} -p1
# Remove pregenerated Cython C sources
find -type f -name '*.c' -print -delete

%build
export WITH_CYTHON=true
%py3_build

%install
%py3_install

%check
make test3


%files -n python3-%{modname}
%license doc/licenses/*.txt LICENSES.txt
%{python3_sitearch}/%{modname}/
%{python3_sitearch}/*.egg-info/

%files help
%doc README.rst src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt

%changelog
* Wed Jun 12 2024 zhuofeng <zhuofeng2@huawei.com> - 4.7.1-6
- Type:CVE
- CVE:CVE-2024-37388
- SUG:NA
- DESC:fix CVE-2024-37388

* Wed Nov 16 2022 zhuofeng <zhuofeng@huawei.com> - 4.7.1-5
- change the Source0

* Mon Jul 25 2022 shixuantong <shixuantong@h-partners.com> - 4.7.1-4
- Remove pregenerated Cython C sources

* Thu Jul 21 2022 renhongxun <renhongxun@h-partners.com> - 4.7.1-3
- fix CVE-2022-2309

* Thu Jan 20 2022 shixuantong <shixuantong@huawei.com> - 4.7.1-2
- enable check

* Sat Dec 25 2021 liudabo<liudabo1@huawei.com> - 4.7.1-1
- upgrade version to 4.7.1

* Wed Apr 14 2021 shixuantong<shixuantong@huawei.com> - 4.6.2-2
- fix CVE-2021-28957

* Mon Feb 1 2021 wangjie<wangjie294@huawei.com> - 4.6.2-1
- upgrade  4.6.2-1

* Fri Oct 30 2020 wuchaochao <wuchaochao4@huawei.com> - 4.5.2-2
- Type:bufix
- CVE:NA
- SUG:NA
- DESC:remove python2

* Thu Jul 23 2020 tianwei  <tianwei12@huawei.com> - 4.5.2-1
- Package update to release 4.5.2
* Mon Sep 16 2019 openEuler Buildteam <buildteam@openeuler.org> - 4.2.3-3
- Package init
