pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/textproc/py-lxml py-lxml: update to 4.0.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/1e7c85c787f0
branches:  trunk
changeset: 368802:1e7c85c787f0
user:      adam <adam%pkgsrc.org@localhost>
date:      Mon Sep 18 11:59:12 2017 +0000

description:
py-lxml: update to 4.0.0

4.0.0:

Features added
--------------
* The ElementPath implementation is now compiled using Cython,
  which speeds up the ``.find*()`` methods quite significantly.

* The modules ``lxml.builder``, ``lxml.html.diff`` and ``lxml.html.clean``
  are also compiled using Cython in order to speed them up.

* ``xmlfile()`` supports async coroutines using ``async with`` and ``await``.

* ``iterwalk()`` has a new method ``skip_subtree()`` that prevents walking into
  the descendants of the current element.

* ``RelaxNG.from_rnc_string()`` accepts a ``base_url`` argument to
  allow relative resource lookups.

* The XSLT result object has a new method ``.write_output(file)`` that serialises
  output data into a file according to the ``<xsl:output>`` configuration.

Bugs fixed
----------
* GH-251: HTML comments were handled incorrectly by the soupparser.
  Patch by mozbugbox.

* LP-1654544: The html5parser no longer passes the ``useChardet`` option
  if the input is a Unicode string, unless explicitly requested.  When parsing
  files, the default is to enable it when a URL or file path is passed (because
  the file is then opened in binary mode), and to disable it when reading from
  a file(-like) object.

  Note: This is a backwards incompatible change of the default configuration.
  If your code parses byte strings/streams and depends on character detection,
  please pass the option ``guess_charset=True`` explicitly, which already worked
  in older lxml versions.

* LP-1703810: ``etree.fromstring()`` failed to parse UTF-32 data with BOM.

* LP-1526522: Some RelaxNG errors were not reported in the error log.

* LP-1567526: Empty and plain text input raised a TypeError in soupparser.

* LP-1710429: Uninitialised variable usage in HTML diff.

* LP-1415643: The closing tags context manager in ``xmlfile()`` could continue
  to output end tags even after writing failed with an exception.

* LP-1465357: ``xmlfile.write()`` now accepts and ignores None as input argument.

* Compilation under Py3.7-pre failed due to a modified function signature.

Other changes
-------------
* The main module source files were renamed from ``lxml.*.pyx`` to plain
  ``*.pyx`` (e.g. ``etree.pyx``) to simplify their handling in the build
  process.  Care was taken to keep the old header files as fallbacks for
  code that compiles against the public C-API of lxml, but it might still
  be worth validating that third-party code does not notice this change.

diffstat:

 textproc/py-lxml/Makefile |   7 ++++---
 textproc/py-lxml/PLIST    |   9 ++++++++-
 textproc/py-lxml/distinfo |  10 +++++-----
 3 files changed, 17 insertions(+), 9 deletions(-)

diffs (94 lines):

diff -r 0d162caebb90 -r 1e7c85c787f0 textproc/py-lxml/Makefile
--- a/textproc/py-lxml/Makefile Mon Sep 18 11:56:37 2017 +0000
+++ b/textproc/py-lxml/Makefile Mon Sep 18 11:59:12 2017 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.46 2017/08/12 19:17:50 wiz Exp $
+# $NetBSD: Makefile,v 1.47 2017/09/18 11:59:12 adam Exp $
 
-DISTNAME=      lxml-3.8.0
+DISTNAME=      lxml-4.0.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    textproc
 MASTER_SITES=  ${MASTER_SITE_PYPI:=l/lxml/}
@@ -18,6 +18,7 @@
 # https://bugs.launchpad.net/lxml/+bug/1710409
 TEST_TARGET=   test_inplace
 
+.include "../../devel/py-cython/buildlink3.mk"
 .include "../../lang/python/egg.mk"
 BUILDLINK_API_DEPENDS.libxml2+=        libxml2>=2.7.8
 .include "../../textproc/libxml2/buildlink3.mk"
@@ -25,4 +26,4 @@
 .include "../../textproc/libxslt/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
 # needed for "make test" with python-3.x -- fixes first two errors noted above
-#MAKE_ENV+=     LC_ALL=en_US.UTF-8
+MAKE_ENV+=     LC_ALL=en_US.UTF-8
diff -r 0d162caebb90 -r 1e7c85c787f0 textproc/py-lxml/PLIST
--- a/textproc/py-lxml/PLIST    Mon Sep 18 11:56:37 2017 +0000
+++ b/textproc/py-lxml/PLIST    Mon Sep 18 11:59:12 2017 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.10 2014/03/12 09:59:28 wiz Exp $
+@comment $NetBSD: PLIST,v 1.11 2017/09/18 11:59:12 adam Exp $
 ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
 ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
 ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
@@ -14,16 +14,20 @@
 ${PYSITELIB}/lxml/_elementpath.py
 ${PYSITELIB}/lxml/_elementpath.pyc
 ${PYSITELIB}/lxml/_elementpath.pyo
+${PYSITELIB}/lxml/_elementpath.so
 ${PYSITELIB}/lxml/builder.py
 ${PYSITELIB}/lxml/builder.pyc
 ${PYSITELIB}/lxml/builder.pyo
+${PYSITELIB}/lxml/builder.so
 ${PYSITELIB}/lxml/cssselect.py
 ${PYSITELIB}/lxml/cssselect.pyc
 ${PYSITELIB}/lxml/cssselect.pyo
 ${PYSITELIB}/lxml/doctestcompare.py
 ${PYSITELIB}/lxml/doctestcompare.pyc
 ${PYSITELIB}/lxml/doctestcompare.pyo
+${PYSITELIB}/lxml/etree.h
 ${PYSITELIB}/lxml/etree.so
+${PYSITELIB}/lxml/etree_api.h
 ${PYSITELIB}/lxml/html/ElementSoup.py
 ${PYSITELIB}/lxml/html/ElementSoup.pyc
 ${PYSITELIB}/lxml/html/ElementSoup.pyo
@@ -45,12 +49,14 @@
 ${PYSITELIB}/lxml/html/clean.py
 ${PYSITELIB}/lxml/html/clean.pyc
 ${PYSITELIB}/lxml/html/clean.pyo
+${PYSITELIB}/lxml/html/clean.so
 ${PYSITELIB}/lxml/html/defs.py
 ${PYSITELIB}/lxml/html/defs.pyc
 ${PYSITELIB}/lxml/html/defs.pyo
 ${PYSITELIB}/lxml/html/diff.py
 ${PYSITELIB}/lxml/html/diff.pyc
 ${PYSITELIB}/lxml/html/diff.pyo
+${PYSITELIB}/lxml/html/diff.so
 ${PYSITELIB}/lxml/html/formfill.py
 ${PYSITELIB}/lxml/html/formfill.pyc
 ${PYSITELIB}/lxml/html/formfill.pyo
@@ -63,6 +69,7 @@
 ${PYSITELIB}/lxml/html/usedoctest.py
 ${PYSITELIB}/lxml/html/usedoctest.pyc
 ${PYSITELIB}/lxml/html/usedoctest.pyo
+${PYSITELIB}/lxml/includes/__init__.pxd
 ${PYSITELIB}/lxml/includes/__init__.py
 ${PYSITELIB}/lxml/includes/__init__.pyc
 ${PYSITELIB}/lxml/includes/__init__.pyo
diff -r 0d162caebb90 -r 1e7c85c787f0 textproc/py-lxml/distinfo
--- a/textproc/py-lxml/distinfo Mon Sep 18 11:56:37 2017 +0000
+++ b/textproc/py-lxml/distinfo Mon Sep 18 11:59:12 2017 +0000
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.33 2017/06/04 19:17:51 adam Exp $
+$NetBSD: distinfo,v 1.34 2017/09/18 11:59:12 adam Exp $
 
-SHA1 (lxml-3.8.0.tar.gz) = 9cc81a0b1559a21812cde9c42ca90ccd5c95e138
-RMD160 (lxml-3.8.0.tar.gz) = 1aa0e48d5eb02a233e4982337412a8fdc48a7501
-SHA512 (lxml-3.8.0.tar.gz) = 08f6f352e22ed2bc199a5f34a1c6b5f7b41ec282dc0026c9f16a06466c27e39e8eb18608ba4493636170eeac4b0194f7050445e1cc9bd0a4628573c404593088
-Size (lxml-3.8.0.tar.gz) = 3795205 bytes
+SHA1 (lxml-4.0.0.tar.gz) = 6f991c9649bfe58527516bbe287b8ddc1d4d3a12
+RMD160 (lxml-4.0.0.tar.gz) = c42cfcfe4a337eb3e9bf5d446b635e96153cd8d7
+SHA512 (lxml-4.0.0.tar.gz) = 8aa85ab6a99097ae2eaa0087b3a663aae8ac81a0a4d685bf857571c811c8ccd6410afc414f14c68702a53e90265726af085d0609ec7f0d3cc96e3702772627e8
+Size (lxml-4.0.0.tar.gz) = 4217301 bytes



Home | Main Index | Thread Index | Old Index