forked from pool/python-lxml
		
	Accepting request 1294982 from devel:languages:python
- Update to 6.0.0:
  * ``lxml.html.diff`` is faster and provides structurally better diffs.
  * The factories ``Element`` and ``ElementTree`` can now be used in type
    hints.
  * Parsing from ``memoryview`` and other buffers is supported to allow
    zero-copy parsing.
  * ``lxml.html.builder`` was missing several HTML5 tag names.
  * ``CDATA`` can now be written into the incremental ``xmlfile()`` writer.
  * A new parser option ``decompress=False`` was added that controls the
    automatic input decompression when using libxml2 2.15.0 or later.
  * The set of compile time / runtime supported libxml2 feature names is
    available as ``etree.LIBXML_COMPILED_FEATURES`` and
    ``etree.LIBXML_FEATURES``.
  * Predicates in ``.find*()`` could mishandle tag indices if a default
    namespace is provided.
  * The ``head`` and ``body`` properties of ``lxml.html`` elements failed
    if no such element was found.  They now return ``None`` instead.
  * Tag names provided by code (API, not data) that are longer than
    ``INT_MAX`` could be truncated or mishandled in other ways.
  * ``.text_content()`` on ``lxml.html`` elements accidentally returned
    a "smart string" without additional information.  It now returns a plain
    string.
  * Support for Python < 3.8 was removed.
  * Parsing directly from zlib (or lzma) compressed data is now considered
    an optional feature in lxml.
  * The ``Schematron`` class is deprecated and will become non-functional in
    a future lxml version.
  * Built using Cython 3.1.2.
  * The debug methods ``MemDebug.dump()`` and ``MemDebug.show()`` were
    removed completely.
OBS-URL: https://build.opensuse.org/request/show/1294982
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-lxml?expand=0&rev=114
			
			
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								lxml-5.4.0.tar.gz
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								lxml-5.4.0.tar.gz
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										3
									
								
								lxml-6.0.0.tar.gz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								lxml-6.0.0.tar.gz
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					version https://git-lfs.github.com/spec/v1
 | 
				
			||||||
 | 
					oid sha256:032e65120339d44cdc3efc326c9f660f5f7205f3a535c1fdbf898b29ea01fb72
 | 
				
			||||||
 | 
					size 4096938
 | 
				
			||||||
@@ -1,3 +1,39 @@
 | 
				
			|||||||
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
 | 
					Tue Jul 22 06:12:57 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update to 6.0.0:
 | 
				
			||||||
 | 
					  * ``lxml.html.diff`` is faster and provides structurally better diffs.
 | 
				
			||||||
 | 
					  * The factories ``Element`` and ``ElementTree`` can now be used in type
 | 
				
			||||||
 | 
					    hints.
 | 
				
			||||||
 | 
					  * Parsing from ``memoryview`` and other buffers is supported to allow
 | 
				
			||||||
 | 
					    zero-copy parsing.
 | 
				
			||||||
 | 
					  * ``lxml.html.builder`` was missing several HTML5 tag names.
 | 
				
			||||||
 | 
					  * ``CDATA`` can now be written into the incremental ``xmlfile()`` writer.
 | 
				
			||||||
 | 
					  * A new parser option ``decompress=False`` was added that controls the
 | 
				
			||||||
 | 
					    automatic input decompression when using libxml2 2.15.0 or later.
 | 
				
			||||||
 | 
					  * The set of compile time / runtime supported libxml2 feature names is
 | 
				
			||||||
 | 
					    available as ``etree.LIBXML_COMPILED_FEATURES`` and
 | 
				
			||||||
 | 
					    ``etree.LIBXML_FEATURES``.
 | 
				
			||||||
 | 
					  * Predicates in ``.find*()`` could mishandle tag indices if a default
 | 
				
			||||||
 | 
					    namespace is provided.
 | 
				
			||||||
 | 
					  * The ``head`` and ``body`` properties of ``lxml.html`` elements failed
 | 
				
			||||||
 | 
					    if no such element was found.  They now return ``None`` instead.
 | 
				
			||||||
 | 
					  * Tag names provided by code (API, not data) that are longer than
 | 
				
			||||||
 | 
					    ``INT_MAX`` could be truncated or mishandled in other ways.
 | 
				
			||||||
 | 
					  * ``.text_content()`` on ``lxml.html`` elements accidentally returned
 | 
				
			||||||
 | 
					    a "smart string" without additional information.  It now returns a plain
 | 
				
			||||||
 | 
					    string.
 | 
				
			||||||
 | 
					  * Support for Python < 3.8 was removed.
 | 
				
			||||||
 | 
					  * Parsing directly from zlib (or lzma) compressed data is now considered
 | 
				
			||||||
 | 
					    an optional feature in lxml.
 | 
				
			||||||
 | 
					  * The ``Schematron`` class is deprecated and will become non-functional in
 | 
				
			||||||
 | 
					    a future lxml version.
 | 
				
			||||||
 | 
					  * Built using Cython 3.1.2.
 | 
				
			||||||
 | 
					  * The debug methods ``MemDebug.dump()`` and ``MemDebug.show()`` were
 | 
				
			||||||
 | 
					    removed completely.
 | 
				
			||||||
 | 
					- Use pyproject macros to build and install.
 | 
				
			||||||
 | 
					- Dropped patch skip-test-under-libxml2-2.11.1.patch, no longer required.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-------------------------------------------------------------------
 | 
					-------------------------------------------------------------------
 | 
				
			||||||
Tue May 27 14:56:16 UTC 2025 - Nico Krapp <nico.krapp@suse.com>
 | 
					Tue May 27 14:56:16 UTC 2025 - Nico Krapp <nico.krapp@suse.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,11 +18,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
%{?sle15_python_module_pythons}
 | 
					%{?sle15_python_module_pythons}
 | 
				
			||||||
Name:           python-lxml
 | 
					Name:           python-lxml
 | 
				
			||||||
Version:        5.4.0
 | 
					Version:        6.0.0
 | 
				
			||||||
Release:        0
 | 
					Release:        0
 | 
				
			||||||
Summary:        Pythonic XML processing library
 | 
					Summary:        Pythonic XML processing library
 | 
				
			||||||
License:        BSD-3-Clause AND GPL-2.0-or-later
 | 
					License:        BSD-3-Clause AND GPL-2.0-or-later
 | 
				
			||||||
Group:          Development/Languages/Python
 | 
					 | 
				
			||||||
URL:            https://lxml.de/
 | 
					URL:            https://lxml.de/
 | 
				
			||||||
Source0:        https://files.pythonhosted.org/packages/source/l/lxml/lxml-%{version}.tar.gz
 | 
					Source0:        https://files.pythonhosted.org/packages/source/l/lxml/lxml-%{version}.tar.gz
 | 
				
			||||||
Source1:        https://lxml.de/lxmldoc-4.5.2.pdf
 | 
					Source1:        https://lxml.de/lxmldoc-4.5.2.pdf
 | 
				
			||||||
@@ -30,13 +29,12 @@ Source99:       python-lxml.rpmlintrc
 | 
				
			|||||||
# PATCH-FIX-OPENSUSE Skip a test under libxml2 2.10.4+
 | 
					# PATCH-FIX-OPENSUSE Skip a test under libxml2 2.10.4+
 | 
				
			||||||
# https://bugs.launchpad.net/lxml/+bug/2016939
 | 
					# https://bugs.launchpad.net/lxml/+bug/2016939
 | 
				
			||||||
Patch1:         skip-test-under-libxml2-2.10.4.patch
 | 
					Patch1:         skip-test-under-libxml2-2.10.4.patch
 | 
				
			||||||
# PATCH-FIX-OPENSUSE Skip a test under libxml2 2.11.1+
 | 
					 | 
				
			||||||
# https://bugs.launchpad.net/lxml/+bug/2018522
 | 
					 | 
				
			||||||
Patch2:         skip-test-under-libxml2-2.11.1.patch
 | 
					 | 
				
			||||||
BuildRequires:  %{python_module Cython >= 3.0.7}
 | 
					BuildRequires:  %{python_module Cython >= 3.0.7}
 | 
				
			||||||
BuildRequires:  %{python_module base}
 | 
					BuildRequires:  %{python_module base >= 3.9}
 | 
				
			||||||
BuildRequires:  %{python_module cssselect >= 0.9.1}
 | 
					BuildRequires:  %{python_module cssselect >= 0.9.1}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module pip}
 | 
				
			||||||
BuildRequires:  %{python_module setuptools >= 18.0.1}
 | 
					BuildRequires:  %{python_module setuptools >= 18.0.1}
 | 
				
			||||||
 | 
					BuildRequires:  %{python_module wheel}
 | 
				
			||||||
BuildRequires:  fdupes
 | 
					BuildRequires:  fdupes
 | 
				
			||||||
%if 0%{?suse_version} == 1500
 | 
					%if 0%{?suse_version} == 1500
 | 
				
			||||||
# Assume the best that the old libxml2 in SLE15 is patched for  https://gitlab.gnome.org/GNOME/libxml2/-/issues/378 (CVE-2022-2309)
 | 
					# Assume the best that the old libxml2 in SLE15 is patched for  https://gitlab.gnome.org/GNOME/libxml2/-/issues/378 (CVE-2022-2309)
 | 
				
			||||||
@@ -95,26 +93,29 @@ rm src/lxml/lxml.etree_api.h
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
%build
 | 
					%build
 | 
				
			||||||
export CFLAGS="%{optflags}"
 | 
					export CFLAGS="%{optflags}"
 | 
				
			||||||
%python_build build_ext -i --with-cython
 | 
					%pyproject_wheel
 | 
				
			||||||
 | 
					# The testsuite relies on the inplace build
 | 
				
			||||||
 | 
					%python_expand PYTHON=$python make inplace
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%install
 | 
				
			||||||
 | 
					%pyproject_install
 | 
				
			||||||
 | 
					%python_expand %fdupes %{buildroot}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%check
 | 
					%check
 | 
				
			||||||
# The tests fail on SLE 11 due to broken incremental parsing in libxml2
 | 
					# The tests fail on SLE 11 due to broken incremental parsing in libxml2
 | 
				
			||||||
export CFLAGS="%{optflags}"
 | 
					export CFLAGS="%{optflags}"
 | 
				
			||||||
export LANG=en_US.UTF-8
 | 
					export LANG=en_US.UTF-8
 | 
				
			||||||
export PYTHONUNBUFFERED=x
 | 
					export PYTHONUNBUFFERED=x
 | 
				
			||||||
 | 
					export PYTHONDONTWRITEBYTECODE=1
 | 
				
			||||||
# cyclic dependency between html5lib and lxml
 | 
					# cyclic dependency between html5lib and lxml
 | 
				
			||||||
rm -v src/lxml/html/tests/test_html5parser.py
 | 
					rm -v src/lxml/html/tests/test_html5parser.py
 | 
				
			||||||
%python_exec test.py
 | 
					%python_exec test.py
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%install
 | 
					 | 
				
			||||||
%python_install
 | 
					 | 
				
			||||||
%python_expand %fdupes %{buildroot}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
%files %{python_files}
 | 
					%files %{python_files}
 | 
				
			||||||
%license LICENSES.txt
 | 
					%license LICENSES.txt
 | 
				
			||||||
%doc CHANGES.txt CREDITS.txt README.rst
 | 
					%doc CHANGES.txt CREDITS.txt README.rst
 | 
				
			||||||
%{python_sitearch}/lxml/
 | 
					%{python_sitearch}/lxml/
 | 
				
			||||||
%{python_sitearch}/lxml-%{version}-py%{python_version}.egg-info
 | 
					%{python_sitearch}/lxml-%{version}.dist-info
 | 
				
			||||||
%exclude %{python_sitearch}/lxml/*.h
 | 
					%exclude %{python_sitearch}/lxml/*.h
 | 
				
			||||||
%exclude %{python_sitearch}/lxml/includes/*.h
 | 
					%exclude %{python_sitearch}/lxml/includes/*.h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +0,0 @@
 | 
				
			|||||||
Index: lxml-5.1.0/src/lxml/tests/test_io.py
 | 
					 | 
				
			||||||
===================================================================
 | 
					 | 
				
			||||||
--- lxml-5.1.0.orig/src/lxml/tests/test_io.py
 | 
					 | 
				
			||||||
+++ lxml-5.1.0/src/lxml/tests/test_io.py
 | 
					 | 
				
			||||||
@@ -12,6 +12,7 @@ from .common_imports import (
 | 
					 | 
				
			||||||
     read_file, write_to_file, BytesIO, tmpfile
 | 
					 | 
				
			||||||
 )
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+import lxml
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 class _IOTestCaseBase(HelperTestCase):
 | 
					 | 
				
			||||||
     """(c)ElementTree compatibility for IO functions/methods
 | 
					 | 
				
			||||||
@@ -305,6 +306,7 @@ class _IOTestCaseBase(HelperTestCase):
 | 
					 | 
				
			||||||
             os.unlink(f.name)
 | 
					 | 
				
			||||||
         self.assertEqual(utext, root.text)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+    @unittest.skipIf(lxml.etree.LIBXML_VERSION >= (2, 11, 1), "libxml2 regression has issues with utf16")
 | 
					 | 
				
			||||||
     def test_iterparse_utf16_bom(self):
 | 
					 | 
				
			||||||
         utext = 'Søk på nettet'
 | 
					 | 
				
			||||||
         uxml = '<?xml version="1.0" encoding="UTF-16"?><p>%s</p>' % utext
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user