Wed May 17 23:35:45 2023 UTC ()
libxslt & py-libxslt: update to 1.1.38

### Major changes

About 40 memory errors in code paths handling malloc failures have been fixed.
While these issues shouldn't impact security, this improves robustness under
memory pressure.

The result of generate-id() is now deterministic across multiple
transformations fixing many issues with reproducible builds.

Most of the test suite has been ported to C.

### Bug fixes

- Fix memory errors in code handling malloc failures
- imports: Fix import/include cycle check
- xsltlocale: Fix xsltNewLocale on macOS
- Make xsl:sort thread-safe
- Make generate-id() deterministic

### Improvements

- Stop using xmlStringCurrentChar
- attributes.h needs to include xsltInternals.h (David Kilzer)
- transform: Avoid null deref on documents without root node
- numbers: Fix floating point overflows
- date: Fix integer overflow in exsltDateFormatDuration
- numbers: Fix harmless integer sign change
- date: Add more overflow checks to formatting code (David Kilzer)
- date: Fix rounding to make Windows tests pass
- date: Rewrite duration and seconds formatting
- xsltlocale: Make API platform-independent
- Also accept application/xslt+xml media type in stylesheet PIs
- warnings: Fix strict prototypes warning
- xsltEvalUserParams() and xsltQuoteUserParams() are susceptible to integer
  overflow when iterating through const char** array (David Kilzer)
- xslt: Return NULL stylesheet on attribute set errors
- xsltproc: Fix unused variable warning
- xslt: Remove declaration for old libxml2
- Fix various compiler warnings
- Fix compiler warnings in xsltGenerateIdFunction
- Disable Python bindings for debugger
- Don't declare disabled functions
- Migrate from PyEval_ to PyObject_

### Build system

- cmake: Use version script
- autotools: Link with --undefined-version
- win32: Remove broken libxslt.def.src
- Stop updating version script
- add support for Windows time functions (Rosen Penev)
- cmake: link against libm on UNIX systems (Alex Richardson)
- build: Add a distutils-based build system for the Python bits (Chun-wei Fan)
- CMake: Relax check for Python 3.x support on Windows (Chun-wei Fan)
- python/types.c: Fix building against older libxml2 (Chun-wei Fan)
- python/libxslt.c: Replace ssize_t with Py_ssize_t (Chun-wei Fan)
- cmake: Fix build with libxslt and libxml2 as subprojects
- cmake: Set SOVERSION
- cmake: Extract version from configure.ac
- Fix classic Windows configuration for libexslt (Christoph M. Becker)
- autotools: Fix Python tests in VPATH builds
- autotools: Disable parallel Python build
- autotools: Use AM_CFLAGS consistently
- autotools: Link with -no-undefined
- cmake: Fix Python installation
- cmake: Don't check for Python 2
- python: Don't output missing generators during build
- python: Create .pyd on Windows
- python: Fix build on Windows
- python: Support Python 3 on Windows
- cmake: Enable GCC compiler warnings
- Update GCC compiler warnings

### Tests

- python: Remove temp file when running tests/basic.py
- fuzz: Improve fuzzers
- xsltlocale: Add test
- gitlab-ci: Reenable MSan and LeakSanitizer
- tests: Remove unused files
- tests: Enable runtest.exe under MSVC
- tests: Fix LIBXSLT_PLUGINS_PATH for multi-config CMake
- tests: Remove unused leak statistics
- tests: Skip some tests if iconv/ICU is disabled
- gitlab-ci: Run Autotools tests with out-of-tree (VPATH) builds
- tests: Port most of the test suite to C
- tests: Fix out-of-tree Python tests
- tests: Fix source directory for reports tests
- gitlab-ci: Consolidate CMake test scripts
- gitlab-ci: Only install cmake MinGW package if needed
- gitlab-ci: Install 7-Zip using the .msi
- gitlab-ci: Add CI job for MinGW/Autotools
- gitlab-ci: Disable MSan for now
- Run CI tests with -fsanitize=integer
- Fix EXSLT functions tests when libxml2 is built --without-debug
- Make CI tests exit on failure
- Run Python 3 CI job with minimal configuration
- Set library path when running Python tests

### Documentation

- doc: Remove unused cross-reference data
- doc: Update apibuild.py


(gutteridge)
diff -r1.124 -r1.125 pkgsrc/textproc/libxslt/Makefile
diff -r1.7 -r1.8 pkgsrc/textproc/libxslt/Makefile.common
diff -r1.70 -r1.71 pkgsrc/textproc/libxslt/distinfo
diff -r1.66 -r1.67 pkgsrc/textproc/py-libxslt/Makefile

cvs diff -r1.124 -r1.125 pkgsrc/textproc/libxslt/Makefile (expand / switch to unified diff)

--- pkgsrc/textproc/libxslt/Makefile 2023/04/19 08:08:46 1.124
+++ pkgsrc/textproc/libxslt/Makefile 2023/05/17 23:35:45 1.125
@@ -1,16 +1,15 @@ @@ -1,16 +1,15 @@
1# $NetBSD: Makefile,v 1.124 2023/04/19 08:08:46 adam Exp $ 1# $NetBSD: Makefile,v 1.125 2023/05/17 23:35:45 gutteridge Exp $
2 2
3PKGREVISION= 2 
4.include "Makefile.common" 3.include "Makefile.common"
5 4
6BUILD_DEPENDS+= docbook-xml-[0-9]*:../../textproc/docbook-xml 5BUILD_DEPENDS+= docbook-xml-[0-9]*:../../textproc/docbook-xml
7BUILD_DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl 6BUILD_DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl
8 7
9USE_LIBTOOL= yes 8USE_LIBTOOL= yes
10USE_TOOLS+= gmake perl 9USE_TOOLS+= gmake perl
11GNU_CONFIGURE= yes 10GNU_CONFIGURE= yes
12CONFIGURE_ARGS+= --with-libxml-prefix=${BUILDLINK_PREFIX.libxml2} 11CONFIGURE_ARGS+= --with-libxml-prefix=${BUILDLINK_PREFIX.libxml2}
13CONFIGURE_ARGS+= --without-python 12CONFIGURE_ARGS+= --without-python
14 13
15PKGCONFIG_OVERRIDE= libxslt.pc.in 14PKGCONFIG_OVERRIDE= libxslt.pc.in
16PKGCONFIG_OVERRIDE+= libexslt.pc.in 15PKGCONFIG_OVERRIDE+= libexslt.pc.in

cvs diff -r1.7 -r1.8 pkgsrc/textproc/libxslt/Makefile.common (expand / switch to unified diff)

--- pkgsrc/textproc/libxslt/Makefile.common 2022/10/13 11:22:24 1.7
+++ pkgsrc/textproc/libxslt/Makefile.common 2023/05/17 23:35:45 1.8
@@ -1,19 +1,19 @@ @@ -1,19 +1,19 @@
1# $NetBSD: Makefile.common,v 1.7 2022/10/13 11:22:24 wiz Exp $ 1# $NetBSD: Makefile.common,v 1.8 2023/05/17 23:35:45 gutteridge Exp $
2# 2#
3# used by textproc/libxslt/Makefile 3# used by textproc/libxslt/Makefile
4# used by textproc/py-libxslt/Makefile 4# used by textproc/py-libxslt/Makefile
5 5
6DISTNAME= libxslt-1.1.37 6DISTNAME= libxslt-1.1.38
7CATEGORIES= textproc 7CATEGORIES= textproc
8MASTER_SITES= ${MASTER_SITE_GNOME:=sources/libxslt/${PKGVERSION_NOREV:R}/} 8MASTER_SITES= ${MASTER_SITE_GNOME:=sources/libxslt/${PKGVERSION_NOREV:R}/}
9EXTRACT_SUFX= .tar.xz 9EXTRACT_SUFX= .tar.xz
10 10
11MAINTAINER= pkgsrc-users@NetBSD.org 11MAINTAINER= pkgsrc-users@NetBSD.org
12HOMEPAGE= https://gitlab.gnome.org/GNOME/libxslt 12HOMEPAGE= https://gitlab.gnome.org/GNOME/libxslt
13COMMENT= XSLT parser library 13COMMENT= XSLT parser library
14LICENSE= mit # with advertisement clause 14LICENSE= mit # with advertisement clause
15 15
16PATCHDIR= ${.CURDIR}/../../textproc/libxslt/patches 16PATCHDIR= ${.CURDIR}/../../textproc/libxslt/patches
17DISTINFO_FILE= ${.CURDIR}/../../textproc/libxslt/distinfo 17DISTINFO_FILE= ${.CURDIR}/../../textproc/libxslt/distinfo
18 18
19post-extract: 19post-extract:

cvs diff -r1.70 -r1.71 pkgsrc/textproc/libxslt/distinfo (expand / switch to unified diff)

--- pkgsrc/textproc/libxslt/distinfo 2022/10/13 11:22:24 1.70
+++ pkgsrc/textproc/libxslt/distinfo 2023/05/17 23:35:45 1.71
@@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
1$NetBSD: distinfo,v 1.70 2022/10/13 11:22:24 wiz Exp $ 1$NetBSD: distinfo,v 1.71 2023/05/17 23:35:45 gutteridge Exp $
2 2
3BLAKE2s (libxslt-1.1.37.tar.xz) = 43105aa9f0956bede37f422d6c7ac2dabf454b82c7292ddb898b3545081b54c2 3BLAKE2s (libxslt-1.1.38.tar.xz) = 23c109c76b13f3dda0bc3a64346979ab54ea5d979f4506a802b705c5fe305f6f
4SHA512 (libxslt-1.1.37.tar.xz) = a4e477d2bb918b7d01945e2c7491c3a4aae799dc1602bbd13de55c8a5052e210a20bc45115347eae44473c8b1d03dbc5e4a2aa18c2218f1fdfd376d87cd501ca 4SHA512 (libxslt-1.1.38.tar.xz) = 2836bd2990b95680db0960ac4c465d0c6c28a293ad095a224c05021a1c8d2576a45e41da8947a31f4ef3e6ef368cbda65243661e311c9886c19694be5a7c9a8e
5Size (libxslt-1.1.37.tar.xz) = 1588572 bytes 5Size (libxslt-1.1.38.tar.xz) = 1576676 bytes

cvs diff -r1.66 -r1.67 pkgsrc/textproc/py-libxslt/Makefile (expand / switch to unified diff)

--- pkgsrc/textproc/py-libxslt/Makefile 2023/04/19 08:11:39 1.66
+++ pkgsrc/textproc/py-libxslt/Makefile 2023/05/17 23:35:45 1.67
@@ -1,16 +1,15 @@ @@ -1,16 +1,15 @@
1# $NetBSD: Makefile,v 1.66 2023/04/19 08:11:39 adam Exp $ 1# $NetBSD: Makefile,v 1.67 2023/05/17 23:35:45 gutteridge Exp $
2 2
3PKGREVISION= 2 
4.include "../../textproc/libxslt/Makefile.common" 3.include "../../textproc/libxslt/Makefile.common"
5 4
6PKGNAME= ${PYPKGPREFIX}-${DISTNAME} 5PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
7CATEGORIES= textproc python 6CATEGORIES= textproc python
8 7
9MAINTAINER= minskim@NetBSD.org 8MAINTAINER= minskim@NetBSD.org
10COMMENT= Python wrapper for libxslt 9COMMENT= Python wrapper for libxslt
11 10
12DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat 11DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
13DEPENDS+= ${PYPKGPREFIX}-libxml2>=2.6.8:../../textproc/py-libxml2 12DEPENDS+= ${PYPKGPREFIX}-libxml2>=2.6.8:../../textproc/py-libxml2
14 13
15EGG_NAME= libxslt_python-${PKGVERSION_NOREV} 14EGG_NAME= libxslt_python-${PKGVERSION_NOREV}
16 15