forked from pool/python-lxml
		
	- 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/package/show/devel:languages:python/python-lxml?expand=0&rev=209
			
			
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> | ||||
|  | ||||
|   | ||||
| @@ -18,11 +18,10 @@ | ||||
|  | ||||
| %{?sle15_python_module_pythons} | ||||
| Name:           python-lxml | ||||
| Version:        5.4.0 | ||||
| Version:        6.0.0 | ||||
| Release:        0 | ||||
| Summary:        Pythonic XML processing library | ||||
| License:        BSD-3-Clause AND GPL-2.0-or-later | ||||
| Group:          Development/Languages/Python | ||||
| URL:            https://lxml.de/ | ||||
| Source0:        https://files.pythonhosted.org/packages/source/l/lxml/lxml-%{version}.tar.gz | ||||
| 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+ | ||||
| # https://bugs.launchpad.net/lxml/+bug/2016939 | ||||
| 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 base} | ||||
| BuildRequires:  %{python_module base >= 3.9} | ||||
| BuildRequires:  %{python_module cssselect >= 0.9.1} | ||||
| BuildRequires:  %{python_module pip} | ||||
| BuildRequires:  %{python_module setuptools >= 18.0.1} | ||||
| BuildRequires:  %{python_module wheel} | ||||
| BuildRequires:  fdupes | ||||
| %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) | ||||
| @@ -95,26 +93,29 @@ rm src/lxml/lxml.etree_api.h | ||||
|  | ||||
| %build | ||||
| 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 | ||||
| # The tests fail on SLE 11 due to broken incremental parsing in libxml2 | ||||
| export CFLAGS="%{optflags}" | ||||
| export LANG=en_US.UTF-8 | ||||
| export PYTHONUNBUFFERED=x | ||||
| export PYTHONDONTWRITEBYTECODE=1 | ||||
| # cyclic dependency between html5lib and lxml | ||||
| rm -v src/lxml/html/tests/test_html5parser.py | ||||
| %python_exec test.py | ||||
|  | ||||
| %install | ||||
| %python_install | ||||
| %python_expand %fdupes %{buildroot} | ||||
|  | ||||
| %files %{python_files} | ||||
| %license LICENSES.txt | ||||
| %doc CHANGES.txt CREDITS.txt README.rst | ||||
| %{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/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