Date: Monday, May 2, 2022 @ 17:24:34 Author: heftig Revision: 444417 archrelease: copy trunk to testing-x86_64
Added: libxml2/repos/testing-x86_64/ libxml2/repos/testing-x86_64/PKGBUILD (from rev 444416, libxml2/trunk/PKGBUILD) libxml2/repos/testing-x86_64/libxml2-2.9.8-python3-unicode-errors.patch (from rev 444416, libxml2/trunk/libxml2-2.9.8-python3-unicode-errors.patch) libxml2/repos/testing-x86_64/no-fuzz.diff (from rev 444416, libxml2/trunk/no-fuzz.diff) --------------------------------------------+ PKGBUILD | 79 +++++++++++++++++++++++++++ libxml2-2.9.8-python3-unicode-errors.patch | 43 ++++++++++++++ no-fuzz.diff | 24 ++++++++ 3 files changed, 146 insertions(+) Copied: libxml2/repos/testing-x86_64/PKGBUILD (from rev 444416, libxml2/trunk/PKGBUILD) =================================================================== --- testing-x86_64/PKGBUILD (rev 0) +++ testing-x86_64/PKGBUILD 2022-05-02 17:24:34 UTC (rev 444417) @@ -0,0 +1,79 @@ +# Maintainer: Jan Alexander Steffens (heftig) <hef...@archlinux.org> +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> +# Contributor: Jan de Groot <j...@archlinux.org> +# Contributor: Tom Gundersen <t...@jklm.no> +# Contributor: John Proctor <jproc...@prium.net> + +pkgname=libxml2 +pkgver=2.9.14 +pkgrel=1 +pkgdesc='XML parsing library, version 2' +url='http://www.xmlsoft.org/' +arch=(x86_64) +license=(MIT) +depends=(zlib readline ncurses xz icu) +makedepends=(python git) +optdepends=('python: Python bindings') +provides=(libxml2.so) +options=(debug) +_commit=7846b0a677f8d3ce72486125fa281e92ac9970e8 # tags/v2.9.14^0 +source=("git+https://gitlab.gnome.org/GNOME/libxml2.git#commit=$_commit" + libxml2-2.9.8-python3-unicode-errors.patch + no-fuzz.diff + https://www.w3.org/XML/Test/xmlts20130923.tar.gz) +sha256sums=('SKIP' + 'd331748e504e69603dac9c57f7b110a98a4bd4cb87e63d0c1bbcd71ec3635383' + '3fc010d8c42b93e6d6f1fca6b598a561e9d2c8780ff3ca0c76a31efabaea404f' + '9b61db9f5dbffa545f4b8d78422167083a8568c59bd1129f94138f936cf6fc1f') + +pkgver() { + cd libxml2 + git describe --tags | sed 's/-rc/rc/;s/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + mkdir build + + # Use xmlconf from conformance test suite + ln -s xmlconf build/xmlconf + + cd libxml2 + + # https://src.fedoraproject.org/rpms/libxml2/tree/rawhide + git apply -3 ../libxml2-2.9.8-python3-unicode-errors.patch + + # Do not run fuzzing tests + git apply -3 ../no-fuzz.diff + + NOCONFIGURE=1 ./autogen.sh +} + +build() { + cd build + + ../libxml2/configure \ + --prefix=/usr \ + --with-threads \ + --with-history \ + --with-python=/usr/bin/python \ + --with-icu + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' libtool + make + + find doc -type f -exec chmod -c 0644 {} + +} + +check() { + make -C build check +} + +package() { + make -C build DESTDIR="$pkgdir" install + + python -m compileall -d /usr/lib "$pkgdir/usr/lib" + python -O -m compileall -d /usr/lib "$pkgdir/usr/lib" + + install -Dm 644 build/COPYING -t "$pkgdir/usr/share/licenses/$pkgname" +} + +# vim:set sw=2 et: Copied: libxml2/repos/testing-x86_64/libxml2-2.9.8-python3-unicode-errors.patch (from rev 444416, libxml2/trunk/libxml2-2.9.8-python3-unicode-errors.patch) =================================================================== --- testing-x86_64/libxml2-2.9.8-python3-unicode-errors.patch (rev 0) +++ testing-x86_64/libxml2-2.9.8-python3-unicode-errors.patch 2022-05-02 17:24:34 UTC (rev 444417) @@ -0,0 +1,43 @@ +diff --git i/python/libxml.c w/python/libxml.c +index ef630254..65a51af0 100644 +--- i/python/libxml.c ++++ w/python/libxml.c +@@ -1621,28 +1621,37 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNUSED void *ctx, const char *msg, + PyObject *message; + PyObject *result; + char str[1000]; ++ unsigned char *ptr = (unsigned char *)str; + + #ifdef DEBUG_ERROR + printf("libxml_xmlErrorFuncHandler(%p, %s, ...) called\n", ctx, msg); + #endif + + + if (libxml_xmlPythonErrorFuncHandler == NULL) { + va_start(ap, msg); + vfprintf(stderr, msg, ap); + va_end(ap); + } else { + va_start(ap, msg); + if (vsnprintf(str, 999, msg, ap) >= 998) + str[999] = 0; + va_end(ap); + ++#if PY_MAJOR_VERSION >= 3 ++ /* Ensure the error string doesn't start at UTF8 continuation. */ ++ while (*ptr && (*ptr & 0xc0) == 0x80) ++ ptr++; ++#endif ++ + list = PyTuple_New(2); + PyTuple_SetItem(list, 0, libxml_xmlPythonErrorFuncCtxt); + Py_XINCREF(libxml_xmlPythonErrorFuncCtxt); +- message = libxml_charPtrConstWrap(str); ++ message = libxml_charPtrConstWrap(ptr); + PyTuple_SetItem(list, 1, message); + result = PyEval_CallObject(libxml_xmlPythonErrorFuncHandler, list); ++ /* Forget any errors caused in the error handler. */ ++ PyErr_Clear(); + Py_XDECREF(list); + Py_XDECREF(result); + } Copied: libxml2/repos/testing-x86_64/no-fuzz.diff (from rev 444416, libxml2/trunk/no-fuzz.diff) =================================================================== --- testing-x86_64/no-fuzz.diff (rev 0) +++ testing-x86_64/no-fuzz.diff 2022-05-02 17:24:34 UTC (rev 444417) @@ -0,0 +1,24 @@ +diff --git i/Makefile.am w/Makefile.am +index 7917b595..f0f4b695 100644 +--- i/Makefile.am ++++ w/Makefile.am +@@ -2,9 +2,9 @@ + + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = include . doc example fuzz xstc $(PYTHON_SUBDIR) ++SUBDIRS = include . doc example xstc $(PYTHON_SUBDIR) + +-DIST_SUBDIRS = include . doc example fuzz python xstc ++DIST_SUBDIRS = include . doc example python xstc + + AM_CPPFLAGS = -I$(top_builddir)/include -I$(srcdir)/include + +@@ -210,7 +210,6 @@ runtests: runtest$(EXEEXT) testrecurse$(EXEEXT) testapi$(EXEEXT) \ + $(CHECKER) ./runxmlconf$(EXEEXT) + @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \ + $(MAKE) tests ; fi) +- @cd fuzz; $(MAKE) tests + + check: all runtests +