From 4a238931680927426a79934fafd9c719431ea77c Mon Sep 17 00:00:00 2001 From: Leon Anavi Date: Mon, 25 Mar 2024 21:58:12 +0200 Subject: python3-multidict: Upgrade 6.0.4 -> 6.0.5 Upgrade to version 6.0.5: - Upgraded the C-API macros that have been deprecated in Python 3.9 and later removed in 3.13 - Reverted to using the public argument parsing API PyArg_ParseTupleAndKeywords() under Python 3.12. - The effect is that this change prevents build failures with clang 16.9.6 and gcc-14. It also fixes a segmentation fault crash caused by passing keyword arguments to MultiDict.getall(). - Fixed a SystemError: null argument to internal routine error on a MultiDict.items().isdisjoint() call when using C Extensions. - On the Contributing docs age, a link to the Towncrier philosophy has been fixed. Signed-off-by: Leon Anavi Signed-off-by: Khem Raj --- ...libs-multidict-909-to-3.12-as-well-to-add.patch | 324 --------------------- .../python/python3-multidict_6.0.4.bb | 31 -- .../python/python3-multidict_6.0.5.bb | 30 ++ 3 files changed, 30 insertions(+), 355 deletions(-) delete mode 100644 meta-python/recipes-devtools/python/python3-multidict/0001-Extend-aio-libs-multidict-909-to-3.12-as-well-to-add.patch delete mode 100644 meta-python/recipes-devtools/python/python3-multidict_6.0.4.bb create mode 100644 meta-python/recipes-devtools/python/python3-multidict_6.0.5.bb diff --git a/meta-python/recipes-devtools/python/python3-multidict/0001-Extend-aio-libs-multidict-909-to-3.12-as-well-to-add.patch b/meta-python/recipes-devtools/python/python3-multidict/0001-Extend-aio-libs-multidict-909-to-3.12-as-well-to-add.patch deleted file mode 100644 index c3cee4643..000000000 --- a/meta-python/recipes-devtools/python/python3-multidict/0001-Extend-aio-libs-multidict-909-to-3.12-as-well-to-add.patch +++ /dev/null @@ -1,324 +0,0 @@ -From 44eaa60cc6c86951ce36811e80c3411d1b1e4c39 Mon Sep 17 00:00:00 2001 -From: Charles Duffy -Date: Fri, 19 Jan 2024 17:47:59 -0600 -Subject: [PATCH] Extend aio-libs/multidict#909 to 3.12 as well to address aio-libs/multidict#926 - -Upstream-Status: Submitted [https://github.com/aio-libs/multidict/pull/929] -Signed-off-by: Khem Raj ---- - multidict/_multidict.c | 68 +++++++++++++++++++++--------------------- - 1 file changed, 34 insertions(+), 34 deletions(-) - -diff --git a/multidict/_multidict.c b/multidict/_multidict.c -index 228d4df..6086495 100644 ---- a/multidict/_multidict.c -+++ b/multidict/_multidict.c -@@ -9,7 +9,7 @@ - #include "_multilib/iter.h" - #include "_multilib/views.h" - --#if PY_MAJOR_VERSION < 3 || PY_MINOR_VERSION < 13 -+#if PY_MAJOR_VERSION < 3 || PY_MINOR_VERSION < 12 - #ifndef _PyArg_UnpackKeywords - #define FASTCALL_OLD - #endif -@@ -444,7 +444,7 @@ fail: - static inline PyObject * - multidict_getall( - MultiDictObject *self, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - PyObject *args, - PyObject *kwds - #else -@@ -458,7 +458,7 @@ multidict_getall( - *key = NULL, - *_default = NULL; - --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - static char *getall_keywords[] = {"key", "default", NULL}; - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O:getall", -@@ -509,7 +509,7 @@ skip_optional_pos: - static inline PyObject * - multidict_getone( - MultiDictObject *self, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - PyObject *args, - PyObject *kwds - #else -@@ -522,7 +522,7 @@ multidict_getone( - PyObject *key = NULL, - *_default = NULL; - --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - static char *getone_keywords[] = {"key", "default", NULL}; - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O:getone", -@@ -563,7 +563,7 @@ skip_optional_pos: - static inline PyObject * - multidict_get( - MultiDictObject *self, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - PyObject *args, - PyObject *kwds - #else -@@ -577,7 +577,7 @@ multidict_get( - *_default = Py_None, - *ret; - --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - static char *getone_keywords[] = {"key", "default", NULL}; - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O:getone", -@@ -833,7 +833,7 @@ multidict_tp_init(MultiDictObject *self, PyObject *args, PyObject *kwds) - static inline PyObject * - multidict_add( - MultiDictObject *self, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - PyObject *args, - PyObject *kwds - #else -@@ -846,7 +846,7 @@ multidict_add( - PyObject *key = NULL, - *val = NULL; - --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - static char *kwlist[] = {"key", "value", NULL}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "OO:add", - kwlist, &key, &val)) -@@ -913,7 +913,7 @@ multidict_clear(MultiDictObject *self) - static inline PyObject * - multidict_setdefault( - MultiDictObject *self, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - PyObject *args, - PyObject *kwds - #else -@@ -926,7 +926,7 @@ multidict_setdefault( - PyObject *key = NULL, - *_default = NULL; - --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - static char *setdefault_keywords[] = {"key", "default", NULL}; - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O:setdefault", -@@ -967,7 +967,7 @@ skip_optional_pos: - static inline PyObject * - multidict_popone( - MultiDictObject *self, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - PyObject *args, - PyObject *kwds - #else -@@ -981,7 +981,7 @@ multidict_popone( - *_default = NULL, - *ret_val = NULL; - --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - static char *popone_keywords[] = {"key", "default", NULL}; - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O:popone", -@@ -1046,7 +1046,7 @@ skip_optional_pos: - static inline PyObject * - multidict_pop( - MultiDictObject *self, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - PyObject *args, - PyObject *kwds - #else -@@ -1060,7 +1060,7 @@ multidict_pop( - *_default = NULL, - *ret_val = NULL; - --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - static char *pop_keywords[] = {"key", "default", NULL}; - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O:popone", -@@ -1113,7 +1113,7 @@ skip_optional_pos: - static inline PyObject * - multidict_popall( - MultiDictObject *self, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - PyObject *args, - PyObject *kwds - #else -@@ -1128,7 +1128,7 @@ multidict_popall( - *ret_val = NULL; - - --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - static char *popall_keywords[] = {"key", "default", NULL}; - - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O:popall", -@@ -1270,7 +1270,7 @@ static PyMethodDef multidict_methods[] = { - { - "getall", - (PyCFunction)multidict_getall, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - METH_VARARGS - #else - METH_FASTCALL -@@ -1281,7 +1281,7 @@ static PyMethodDef multidict_methods[] = { - { - "getone", - (PyCFunction)multidict_getone, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - METH_VARARGS - #else - METH_FASTCALL -@@ -1292,7 +1292,7 @@ static PyMethodDef multidict_methods[] = { - { - "get", - (PyCFunction)multidict_get, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - METH_VARARGS - #else - METH_FASTCALL -@@ -1321,7 +1321,7 @@ static PyMethodDef multidict_methods[] = { - { - "add", - (PyCFunction)multidict_add, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - METH_VARARGS - #else - METH_FASTCALL -@@ -1350,7 +1350,7 @@ static PyMethodDef multidict_methods[] = { - { - "setdefault", - (PyCFunction)multidict_setdefault, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - METH_VARARGS - #else - METH_FASTCALL -@@ -1361,7 +1361,7 @@ static PyMethodDef multidict_methods[] = { - { - "popone", - (PyCFunction)multidict_popone, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - METH_VARARGS - #else - METH_FASTCALL -@@ -1372,7 +1372,7 @@ static PyMethodDef multidict_methods[] = { - { - "pop", - (PyCFunction)multidict_pop, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - METH_VARARGS - #else - METH_FASTCALL -@@ -1383,7 +1383,7 @@ static PyMethodDef multidict_methods[] = { - { - "popall", - (PyCFunction)multidict_popall, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - METH_VARARGS - #else - METH_FASTCALL -@@ -1559,7 +1559,7 @@ multidict_proxy_tp_init(MultiDictProxyObject *self, PyObject *args, - static inline PyObject * - multidict_proxy_getall( - MultiDictProxyObject *self, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - PyObject *args, - PyObject *kwds - #else -@@ -1572,7 +1572,7 @@ multidict_proxy_getall( - return multidict_getall( - self->md, - args, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - kwds - #else - nargs, -@@ -1584,7 +1584,7 @@ multidict_proxy_getall( - static inline PyObject * - multidict_proxy_getone( - MultiDictProxyObject *self, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - PyObject *args, - PyObject *kwds - #else -@@ -1596,7 +1596,7 @@ multidict_proxy_getone( - { - return multidict_getone( - self->md, args, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - kwds - #else - nargs, kwnames -@@ -1607,7 +1607,7 @@ multidict_proxy_getone( - static inline PyObject * - multidict_proxy_get( - MultiDictProxyObject *self, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - PyObject *args, - PyObject *kwds - #else -@@ -1620,7 +1620,7 @@ multidict_proxy_get( - return multidict_get( - self->md, - args, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - kwds - #else - nargs, -@@ -1734,7 +1734,7 @@ static PyMethodDef multidict_proxy_methods[] = { - { - "getall", - (PyCFunction)multidict_proxy_getall, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - METH_VARARGS - #else - METH_FASTCALL -@@ -1745,7 +1745,7 @@ static PyMethodDef multidict_proxy_methods[] = { - { - "getone", - (PyCFunction)multidict_proxy_getone, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - METH_VARARGS - #else - METH_FASTCALL -@@ -1756,7 +1756,7 @@ static PyMethodDef multidict_proxy_methods[] = { - { - "get", - (PyCFunction)multidict_proxy_get, --#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 13 -+#if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 12 - METH_VARARGS - #else - METH_FASTCALL --- -2.43.0 - diff --git a/meta-python/recipes-devtools/python/python3-multidict_6.0.4.bb b/meta-python/recipes-devtools/python/python3-multidict_6.0.4.bb deleted file mode 100644 index 19b94dee0..000000000 --- a/meta-python/recipes-devtools/python/python3-multidict_6.0.4.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Multidicts are useful for working with HTTP headers, URL query args etc." -HOMEPAGE = "https://github.com/aio-libs/multidict/" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b4fef6e4b0828c2401fb983363985b39" - -inherit pypi setuptools3 ptest - -PV .= "+git" - -SRCREV = "82b559cdd0b41548f3dadc5561a9aaaa7f93ae14" -PYPI_SRC_URI = "git://github.com/aio-libs/multidict;branch=master;protocol=https" -S = "${WORKDIR}/git" - -SRC_URI += " \ - file://0001-Extend-aio-libs-multidict-909-to-3.12-as-well-to-add.patch \ - file://run-ptest \ -" - -RDEPENDS:${PN}-ptest += " \ - python3-pytest \ - python3-pytest-cov \ - python3-unittest-automake-output \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-multidict_6.0.5.bb b/meta-python/recipes-devtools/python/python3-multidict_6.0.5.bb new file mode 100644 index 000000000..b12e180d0 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-multidict_6.0.5.bb @@ -0,0 +1,30 @@ +SUMMARY = "Multidicts are useful for working with HTTP headers, URL query args etc." +HOMEPAGE = "https://github.com/aio-libs/multidict/" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b4fef6e4b0828c2401fb983363985b39" + +inherit pypi setuptools3 ptest + +PV .= "+git" + +SRCREV = "a9b281b2ef4ab25d95d6b268aa88c428e75c3696" +PYPI_SRC_URI = "git://github.com/aio-libs/multidict;branch=master;protocol=https" +S = "${WORKDIR}/git" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS:${PN}-ptest += " \ + python3-pytest \ + python3-pytest-cov \ + python3-unittest-automake-output \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf