From 4ffab2a3beb88f2a16f054d742cca34ca81bf90c Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Fri, 12 Feb 2021 10:53:06 +0100 Subject: [PATCH] python3-libxml2: initial import --- python3-libxml2/.footprint | 11 +++++ python3-libxml2/.signature | 6 +++ python3-libxml2/Pkgfile | 18 +++++++ python3-libxml2/python3.9.patch | 86 +++++++++++++++++++++++++++++++++ 4 files changed, 121 insertions(+) create mode 100644 python3-libxml2/.footprint create mode 100644 python3-libxml2/.signature create mode 100644 python3-libxml2/Pkgfile create mode 100644 python3-libxml2/python3.9.patch diff --git a/python3-libxml2/.footprint b/python3-libxml2/.footprint new file mode 100644 index 0000000..442f455 --- /dev/null +++ b/python3-libxml2/.footprint @@ -0,0 +1,11 @@ +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/lib/ +drwxr-xr-x root/root usr/lib/python3.9/ +drwxr-xr-x root/root usr/lib/python3.9/site-packages/ +drwxr-xr-x root/root usr/lib/python3.9/site-packages/__pycache__/ +-rw-r--r-- root/root usr/lib/python3.9/site-packages/__pycache__/drv_libxml2.cpython-39.pyc +-rw-r--r-- root/root usr/lib/python3.9/site-packages/__pycache__/libxml2.cpython-39.pyc +-rw-r--r-- root/root usr/lib/python3.9/site-packages/drv_libxml2.py +-rw-r--r-- root/root usr/lib/python3.9/site-packages/libxml2.py +-rw-r--r-- root/root usr/lib/python3.9/site-packages/libxml2_python-2.9.10-py3.9.egg-info +-rwxr-xr-x root/root usr/lib/python3.9/site-packages/libxml2mod.cpython-39-aarch64-linux-gnu.so diff --git a/python3-libxml2/.signature b/python3-libxml2/.signature new file mode 100644 index 0000000..6352f5e --- /dev/null +++ b/python3-libxml2/.signature @@ -0,0 +1,6 @@ +untrusted comment: verify with /etc/ports/opt-arm64.pub +RWRitF9a2DJqMRNzu037O4erccCYXkaWszTqWJfAqZs8/3vqYkPUIXGypxhZIB4P9kW4UMov+g9Lqmjy56Pw3p+sFcVUtisWCgc= +SHA256 (Pkgfile) = 72a02d1f36aa8c6745af12ae99733a50b69a9b4cee71ea6f230679d9e1f710f2 +SHA256 (.footprint) = eff7c8dfdd55ef193f947baf8db8df2c7486b71a116ecf1fab7d69a669587bff +SHA256 (libxml2-2.9.10.tar.gz) = aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f +SHA256 (python3.9.patch) = 8150a23d01966bff1dbf110294012756f5a3a29bf4f671f0e07b84d4307e4bce diff --git a/python3-libxml2/Pkgfile b/python3-libxml2/Pkgfile new file mode 100644 index 0000000..45e80df --- /dev/null +++ b/python3-libxml2/Pkgfile @@ -0,0 +1,18 @@ +# Description: Python bindings for the XML library version 2 +# URL: http://xmlsoft.org/ +# Maintainer: Juergen Daubert, jue at crux dot nu +# Arch Maintainer: CRUX-ARM System Team, devel at crux-arm dot nu +# Depends on: python3-setuptools libxml2 + +name=python3-libxml2 +version=2.9.10 +release=2 +source=(ftp://xmlsoft.org/libxml2/libxml2-$version.tar.gz + python3.9.patch) + +build () { + cd libxml2-$version/python + patch -p2 -i $SRC/python3.9.patch + /usr/bin/python3 setup.py build + /usr/bin/python3 setup.py install --root=$PKG +} diff --git a/python3-libxml2/python3.9.patch b/python3-libxml2/python3.9.patch new file mode 100644 index 0000000..7f14cdd --- /dev/null +++ b/python3-libxml2/python3.9.patch @@ -0,0 +1,86 @@ +commit e4fb36841800038c289997432ca547c9bfef9db1 +Author: Miro Hrončok +Date: Fri Feb 28 12:48:14 2020 +0100 + + Parenthesize Py_Check() in ifs + + In C, if expressions should be parenthesized. + PyLong_Check, PyUnicode_Check etc. happened to expand to a parenthesized + expression before, but that's not API to rely on. + + Since Python 3.9.0a4 it needs to be parenthesized explicitly. + + Fixes https://gitlab.gnome.org/GNOME/libxml2/issues/149 + +diff --git a/python/libxml.c b/python/libxml.c +index bc676c4e..81e709f3 100644 +--- a/python/libxml.c ++++ b/python/libxml.c +@@ -294,7 +294,7 @@ xmlPythonFileReadRaw (void * context, char * buffer, int len) { + lenread = PyBytes_Size(ret); + data = PyBytes_AsString(ret); + #ifdef PyUnicode_Check +- } else if PyUnicode_Check (ret) { ++ } else if (PyUnicode_Check (ret)) { + #if PY_VERSION_HEX >= 0x03030000 + Py_ssize_t size; + const char *tmp; +@@ -359,7 +359,7 @@ xmlPythonFileRead (void * context, char * buffer, int len) { + lenread = PyBytes_Size(ret); + data = PyBytes_AsString(ret); + #ifdef PyUnicode_Check +- } else if PyUnicode_Check (ret) { ++ } else if (PyUnicode_Check (ret)) { + #if PY_VERSION_HEX >= 0x03030000 + Py_ssize_t size; + const char *tmp; +diff --git a/python/types.c b/python/types.c +index c2bafeb1..ed284ec7 100644 +--- a/python/types.c ++++ b/python/types.c +@@ -602,16 +602,16 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj) + if (obj == NULL) { + return (NULL); + } +- if PyFloat_Check (obj) { ++ if (PyFloat_Check (obj)) { + ret = xmlXPathNewFloat((double) PyFloat_AS_DOUBLE(obj)); +- } else if PyLong_Check(obj) { ++ } else if (PyLong_Check(obj)) { + #ifdef PyLong_AS_LONG + ret = xmlXPathNewFloat((double) PyLong_AS_LONG(obj)); + #else + ret = xmlXPathNewFloat((double) PyInt_AS_LONG(obj)); + #endif + #ifdef PyBool_Check +- } else if PyBool_Check (obj) { ++ } else if (PyBool_Check (obj)) { + + if (obj == Py_True) { + ret = xmlXPathNewBoolean(1); +@@ -620,14 +620,14 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj) + ret = xmlXPathNewBoolean(0); + } + #endif +- } else if PyBytes_Check (obj) { ++ } else if (PyBytes_Check (obj)) { + xmlChar *str; + + str = xmlStrndup((const xmlChar *) PyBytes_AS_STRING(obj), + PyBytes_GET_SIZE(obj)); + ret = xmlXPathWrapString(str); + #ifdef PyUnicode_Check +- } else if PyUnicode_Check (obj) { ++ } else if (PyUnicode_Check (obj)) { + #if PY_VERSION_HEX >= 0x03030000 + xmlChar *str; + const char *tmp; +@@ -650,7 +650,7 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj) + ret = xmlXPathWrapString(str); + #endif + #endif +- } else if PyList_Check (obj) { ++ } else if (PyList_Check (obj)) { + int i; + PyObject *node; + xmlNodePtr cur; -- 2.26.2