Convert from Fedora for the Python 3.14 stack in RHEL

Fedora contributions by:
    Alexander Todorov <atodorov@redhat.com>
    Bill Nottingham <notting@fedoraproject.org>
    Charalampos Stratakis <cstratak@redhat.com>
    Dan Horák <dan@danny.cz>
    David King <amigadave@amigadave.com>
    David Malcolm <dmalcolm@redhat.com>
    Dennis Gilmore <dennis@ausil.us>
    Fabio Alessandro Locati <me@fale.io>
    Igor Gnatenko <ignatenkobrain@fedoraproject.org>
    Jason ティビツ <tibbs@fedoraproject.org>
    Jeffrey C. Ollie <jeff@ocjtech.us>
    Jesse Keating <jkeating@fedoraproject.org>
    Kevin Fenzi <kevin@scrye.com>
    Lumir Balhar <lbalhar@redhat.com>
    Mikolaj Izdebski <mizdebsk@redhat.com>
    Miro Hrončok <miro@hroncok.cz>
    Peter Robinson <pbrobinson@gmail.com>
    Robert Kuska <rkuska@redhat.com>
    Robert-André Mauchin <zebob.m@gmail.com>
    Shahms King <shahms@fedoraproject.org>
    Slavek Kabrda <bkabrda@redhat.com>
    tomspur <tomspur@fedoraproject.org>
    Tomas Orsava <torsava@redhat.com>
    Tomáš Hrnčiar <thrnciar@redhat.com>
    Ville Skyttä <scop@fedoraproject.org>
    Yaakov Selkowitz <yselkowi@redhat.com>
This commit is contained in:
Tomáš Hrnčiar 2025-09-01 15:18:17 +02:00 committed by Lumir Balhar
parent f946dd0dde
commit 811feec864
3 changed files with 13 additions and 1659 deletions

1642
changelog

File diff suppressed because it is too large Load Diff

View File

@ -4,9 +4,9 @@ discover:
tests: tests:
- name: /smoke/import-python-module - name: /smoke/import-python-module
test: | test: |
python3 -c 'import importlib as il; print(il.import_module("lxml"))' python3.14 -c 'import importlib as il; print(il.import_module("lxml"))'
- name: /smoke/etree-fromstring - name: /smoke/etree-fromstring
test: | test: |
python3 plans/etree-fromstring.py python3.14 plans/etree-fromstring.py
execute: execute:
how: tmt how: tmt

View File

@ -1,4 +1,6 @@
Name: python-lxml %global python3_pkgversion 3.14
Name: python%{python3_pkgversion}-lxml
Version: 6.0.1 Version: 6.0.1
Release: %autorelease Release: %autorelease
Summary: XML processing library combining libxml2/libxslt with the ElementTree API Summary: XML processing library combining libxml2/libxslt with the ElementTree API
@ -19,7 +21,7 @@ Source1: get-lxml-source.sh
BuildRequires: gcc BuildRequires: gcc
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
BuildRequires: libxslt-devel BuildRequires: libxslt-devel
BuildRequires: python3-devel BuildRequires: python%{python3_pkgversion}-devel
# Some of the extras create a build dependency loop. # Some of the extras create a build dependency loop.
# - [cssselect] Requires cssselect BuildRequires lxml # - [cssselect] Requires cssselect BuildRequires lxml
@ -36,23 +38,17 @@ provides safe and convenient access to these libraries using the ElementTree It\
extends the ElementTree API significantly to offer support for XPath, RelaxNG,\ extends the ElementTree API significantly to offer support for XPath, RelaxNG,\
XML Schema, XSLT, C14N and much more. XML Schema, XSLT, C14N and much more.
%description %{_description}
%package -n python3-lxml
Summary: %{summary}
%if %{with extras} %if %{with extras}
Suggests: python3-lxml+cssselect Suggests: python%{python3_pkgversion}-lxml+cssselect
Suggests: python3-lxml+html5 Suggests: python%{python3_pkgversion}-lxml+html5
Suggests: python3-lxml+htmlsoup Suggests: python%{python3_pkgversion}-lxml+htmlsoup
Suggests: python3-lxml+html_clean Suggests: python%{python3_pkgversion}-lxml+html_clean
%endif %endif
%description -n python3-lxml %{_description} %description %{_description}
Python 3 version.
%if %{with extras} %if %{with extras}
%pyproject_extras_subpkg -n python3-lxml cssselect html5 htmlsoup html_clean %pyproject_extras_subpkg -n python%{python3_pkgversion}-lxml cssselect html5 htmlsoup html_clean
%endif %endif
%prep %prep
@ -86,7 +82,7 @@ cp -a build/lib.%{python3_platform}-*/* src/
# The options are: verbose, unit, functional # The options are: verbose, unit, functional
%{python3} test.py -vuf %{python3} test.py -vuf
%files -n python3-lxml -f %{pyproject_files} %files -n python%{python3_pkgversion}-lxml -f %{pyproject_files}
%license doc/licenses/BSD.txt doc/licenses/elementtree.txt %license doc/licenses/BSD.txt doc/licenses/elementtree.txt
%doc README.rst %doc README.rst