* [kirkstone 01/20] libcamera: fix packaging
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 02/20] jq: Fix typo OE_EXTRACONF -> EXTRA_OECONF Armin Kuster
` (18 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Julien STEPHAN <jstephan@baylibre.com>
libcamera.so.0 and libcamera-base.so.0 are packaged in ${PN}-dev although
they should be packaged in ${PN}. See poky/meta/conf/bitbake.conf.
This trigger the following error when trying to run the `cam` utility
(packaged inside ${PN}):
$ cam -l
cam: error while loading shared libraries: libcamera.so.0: cannot open shared object file: No such file or directory
$ read-elf -d /usr/bin/cam
Dynamic section at offset 0x2c740 contains 37 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libcamera.so.0]
0x0000000000000001 (NEEDED) Shared library: [libcamera-base.so.0]
[...]
So package libcamera is broken and need to be installed along with
libcamera-dev to be functionnal. Fix it by packaging libcamera.so.0 and
libcamera-base.so.0 into ${PN}
Signed-off-by: Julien STEPHAN <jstephan@baylibre.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 3de996474e0b7fdff1d265fcad747bd60851b1eb)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
meta-multimedia/recipes-multimedia/libcamera/libcamera.bb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
index 7136260699..0b9f3f7a5d 100644
--- a/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
@@ -64,10 +64,10 @@ do_recalculate_ipa_signatures_package() {
FILES:${PN}-dev = "${includedir} ${libdir}/pkgconfig"
FILES:${PN}-dev += " ${libdir}/libcamera.so"
-FILES:${PN}-dev += " ${libdir}/libcamera.so.0"
+FILES:${PN} += " ${libdir}/libcamera.so.0"
FILES:${PN} += " ${libdir}/libcamera.so.0.0.0"
FILES:${PN}-dev += " ${libdir}/libcamera-base.so"
-FILES:${PN}-dev += " ${libdir}/libcamera-base.so.0"
+FILES:${PN} += " ${libdir}/libcamera-base.so.0"
FILES:${PN} += " ${libdir}/libcamera-base.so.0.0.0"
FILES:${PN} += " ${libdir}/v4l2-compat.so"
FILES:${PN}-gst = "${libdir}/gstreamer-1.0/libgstlibcamera.so"
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 02/20] jq: Fix typo OE_EXTRACONF -> EXTRA_OECONF
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
2022-06-03 19:17 ` [kirkstone 01/20] libcamera: fix packaging Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 03/20] python3-wxgtk4: backport patch to fix svg issue Armin Kuster
` (17 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Joerg Vehlow <joerg.vehlow@aox.de>
Signed-off-by: Joerg Vehlow <joerg.vehlow@aox.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 1aa9d7d53d05b01727a8fdc2079f7c00e273fc13)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
meta-oe/recipes-devtools/jq/jq_git.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-devtools/jq/jq_git.bb b/meta-oe/recipes-devtools/jq/jq_git.bb
index d0c70da76f..8b0218c83e 100644
--- a/meta-oe/recipes-devtools/jq/jq_git.bb
+++ b/meta-oe/recipes-devtools/jq/jq_git.bb
@@ -21,7 +21,7 @@ PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,ruby-native"
PACKAGECONFIG[maintainer-mode] = "--enable-maintainer-mode,--disable-maintainer-mode,flex-native bison-native"
PACKAGECONFIG[oniguruma] = "--with-oniguruma,--without-oniguruma,onig"
-OE_EXTRACONF += " \
+EXTRA_OECONF += " \
--disable-valgrind \
"
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 03/20] python3-wxgtk4: backport patch to fix svg issue
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
2022-06-03 19:17 ` [kirkstone 01/20] libcamera: fix packaging Armin Kuster
2022-06-03 19:17 ` [kirkstone 02/20] jq: Fix typo OE_EXTRACONF -> EXTRA_OECONF Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 04/20] php: upgrade 8.1.4 -> 8.1.5 Armin Kuster
` (16 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Kai Kang <kai.kang@windriver.com>
Backport patch to fix import svg issue:
| $ python3 -c 'from wx.svg import SVGimage'
|
| ImportError: /usr/lib64/python3.10/site-packages/wx/svg/_nanosvg.cpython-310-x86_64-linux-gnu.so:
undefined symbol: _PyGen_Send
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 8246a9cef2956c66772b23f00d3feedec43ab1f7)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
...rsion-to-fix-NanoSVG-issues-with-Pyt.patch | 861 ++++++++++++++++++
.../python3-wxgtk4/python3-wxgtk4_4.1.1.bb | 1 +
2 files changed, 862 insertions(+)
create mode 100644 meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4/0001-Update-Cython-version-to-fix-NanoSVG-issues-with-Pyt.patch
diff --git a/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4/0001-Update-Cython-version-to-fix-NanoSVG-issues-with-Pyt.patch b/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4/0001-Update-Cython-version-to-fix-NanoSVG-issues-with-Pyt.patch
new file mode 100644
index 0000000000..6be56cb908
--- /dev/null
+++ b/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4/0001-Update-Cython-version-to-fix-NanoSVG-issues-with-Pyt.patch
@@ -0,0 +1,861 @@
+Upstream-Status: Backport [https://github.com/wxWidgets/Phoenix/commit/b40ab0f8]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From b40ab0f806bdf7aa0c0a51a8c4876ac47754515d Mon Sep 17 00:00:00 2001
+From: Scott Talbert <swt@techie.net>
+Date: Thu, 7 Oct 2021 17:53:05 -0400
+Subject: [PATCH] Update Cython version to fix NanoSVG issues with Python 3.10
+
+---
+ requirements/devel.txt | 2 +-
+ wx/svg/_nanosvg.c | 554 ++++++++++++++++++++++++++---------------
+ 2 files changed, 359 insertions(+), 197 deletions(-)
+
+diff --git a/requirements/devel.txt b/requirements/devel.txt
+index 1d427be0..18164bdc 100644
+--- a/requirements/devel.txt
++++ b/requirements/devel.txt
+@@ -9,7 +9,7 @@ wheel
+ twine
+ requests
+ requests[security]
+-cython==0.29.21
++cython==0.29.24
+ pytest
+ pytest-xdist
+ pytest-forked
+diff --git a/wx/svg/_nanosvg.c b/wx/svg/_nanosvg.c
+index d8f1e158..fd4a5a67 100644
+--- a/wx/svg/_nanosvg.c
++++ b/wx/svg/_nanosvg.c
+@@ -1,4 +1,4 @@
+-/* Generated by Cython 0.29.21 */
++/* Generated by Cython 0.29.24 */
+
+ /* BEGIN: Cython Metadata
+ {
+@@ -33,15 +33,17 @@
+ }
+ END: Cython Metadata */
+
++#ifndef PY_SSIZE_T_CLEAN
+ #define PY_SSIZE_T_CLEAN
++#endif /* PY_SSIZE_T_CLEAN */
+ #include "Python.h"
+ #ifndef Py_PYTHON_H
+ #error Python headers needed to compile C extensions, please install development version of Python.
+ #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
+ #error Cython requires Python 2.6+ or Python 3.3+.
+ #else
+-#define CYTHON_ABI "0_29_21"
+-#define CYTHON_HEX_VERSION 0x001D15F0
++#define CYTHON_ABI "0_29_24"
++#define CYTHON_HEX_VERSION 0x001D18F0
+ #define CYTHON_FUTURE_DIVISION 0
+ #include <stddef.h>
+ #ifndef offsetof
+@@ -459,8 +461,12 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
+ #endif
+ #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
+ #define CYTHON_PEP393_ENABLED 1
++ #if defined(PyUnicode_IS_READY)
+ #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\
+ 0 : _PyUnicode_Ready((PyObject *)(op)))
++ #else
++ #define __Pyx_PyUnicode_READY(op) (0)
++ #endif
+ #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
+ #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
+ #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)
+@@ -469,7 +475,11 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
+ #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
+ #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch)
+ #if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
++ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
++ #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
++ #else
+ #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
++ #endif
+ #else
+ #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u))
+ #endif
+@@ -1736,33 +1746,38 @@ static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
+ static void __Pyx_AddTraceback(const char *funcname, int c_line,
+ int py_line, const char *filename);
+
++/* GCCDiagnostics.proto */
++#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
++#define __Pyx_HAS_GCC_DIAGNOSTIC
++#endif
++
+ /* CIntToPy.proto */
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
+
++/* CIntFromPy.proto */
++static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
++
+ /* CIntToPy.proto */
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
+
+ /* CIntToPy.proto */
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_char(char value);
+
++/* CIntFromPy.proto */
++static CYTHON_INLINE char __Pyx_PyInt_As_char(PyObject *);
++
+ /* CIntToPy.proto */
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_char(unsigned char value);
+
++/* CIntFromPy.proto */
++static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
++
+ /* CIntToPy.proto */
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_2wx_3svg_8_nanosvg_SVGpaintType(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType value);
+
+ /* CIntToPy.proto */
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value);
+
+-/* CIntFromPy.proto */
+-static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
+-
+-/* CIntFromPy.proto */
+-static CYTHON_INLINE char __Pyx_PyInt_As_char(PyObject *);
+-
+-/* CIntFromPy.proto */
+-static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
+-
+ /* CIntToPy.proto */
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_2wx_3svg_8_nanosvg_SVGfillRule(enum __pyx_t_2wx_3svg_8_nanosvg_SVGfillRule value);
+
+@@ -1844,6 +1859,7 @@ typedef struct {
+ PyObject *gi_qualname;
+ PyObject *gi_modulename;
+ PyObject *gi_code;
++ PyObject *gi_frame;
+ int resume_label;
+ char is_running;
+ } __pyx_CoroutineObject;
+@@ -14641,11 +14657,9 @@ if (!__Pyx_RefNanny) {
+ #endif
+ /*--- Library function declarations ---*/
+ /*--- Threads initialization code ---*/
+- #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
+- #ifdef WITH_THREAD /* Python build with threading support? */
++ #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
+ PyEval_InitThreads();
+ #endif
+- #endif
+ /*--- Module creation code ---*/
+ #if CYTHON_PEP489_MULTI_PHASE_INIT
+ __pyx_m = __pyx_pyinit_module;
+@@ -16766,7 +16780,7 @@ invalid_keyword:
+ #if CYTHON_COMPILING_IN_CPYTHON
+ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
+ PyObject *result;
+- ternaryfunc call = func->ob_type->tp_call;
++ ternaryfunc call = Py_TYPE(func)->tp_call;
+ if (unlikely(!call))
+ return PyObject_Call(func, arg, kw);
+ if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
+@@ -17149,7 +17163,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObjec
+ if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
+ return __Pyx_PyObject_CallMethO(func, arg);
+ #if CYTHON_FAST_PYCCALL
+- } else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) {
++ } else if (__Pyx_PyFastCFunction_Check(func)) {
+ return __Pyx_PyCFunction_FastCall(func, &arg, 1);
+ #endif
+ }
+@@ -18800,7 +18814,8 @@ static PyObject *
+ __Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args)
+ {
+ #if PY_MAJOR_VERSION >= 3
+- return PyUnicode_FromString(m->func.m_ml->ml_name);
++ Py_INCREF(m->func_qualname);
++ return m->func_qualname;
+ #else
+ return PyString_FromString(m->func.m_ml->ml_name);
+ #endif
+@@ -19443,37 +19458,6 @@ bad:
+ Py_XDECREF(py_frame);
+ }
+
+-/* CIntToPy */
+-static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
+- const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0;
+- const int is_unsigned = neg_one > const_zero;
+- if (is_unsigned) {
+- if (sizeof(long) < sizeof(long)) {
+- return PyInt_FromLong((long) value);
+- } else if (sizeof(long) <= sizeof(unsigned long)) {
+- return PyLong_FromUnsignedLong((unsigned long) value);
+-#ifdef HAVE_LONG_LONG
+- } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
+- return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+-#endif
+- }
+- } else {
+- if (sizeof(long) <= sizeof(long)) {
+- return PyInt_FromLong((long) value);
+-#ifdef HAVE_LONG_LONG
+- } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
+- return PyLong_FromLongLong((PY_LONG_LONG) value);
+-#endif
+- }
+- }
+- {
+- int one = 1; int little = (int)*(unsigned char *)&one;
+- unsigned char *bytes = (unsigned char *)&value;
+- return _PyLong_FromByteArray(bytes, sizeof(long),
+- little, !is_unsigned);
+- }
+-}
+-
+ /* CIntFromPyVerify */
+ #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
+ __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
+@@ -19497,148 +19481,31 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
+ }
+
+ /* CIntToPy */
+-static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
+- const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0;
+- const int is_unsigned = neg_one > const_zero;
+- if (is_unsigned) {
+- if (sizeof(int) < sizeof(long)) {
+- return PyInt_FromLong((long) value);
+- } else if (sizeof(int) <= sizeof(unsigned long)) {
+- return PyLong_FromUnsignedLong((unsigned long) value);
+-#ifdef HAVE_LONG_LONG
+- } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
+- return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+-#endif
+- }
+- } else {
+- if (sizeof(int) <= sizeof(long)) {
+- return PyInt_FromLong((long) value);
+-#ifdef HAVE_LONG_LONG
+- } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
+- return PyLong_FromLongLong((PY_LONG_LONG) value);
+-#endif
+- }
+- }
+- {
+- int one = 1; int little = (int)*(unsigned char *)&one;
+- unsigned char *bytes = (unsigned char *)&value;
+- return _PyLong_FromByteArray(bytes, sizeof(int),
+- little, !is_unsigned);
+- }
+-}
+-
+-/* CIntToPy */
+-static CYTHON_INLINE PyObject* __Pyx_PyInt_From_char(char value) {
+- const char neg_one = (char) ((char) 0 - (char) 1), const_zero = (char) 0;
+- const int is_unsigned = neg_one > const_zero;
+- if (is_unsigned) {
+- if (sizeof(char) < sizeof(long)) {
+- return PyInt_FromLong((long) value);
+- } else if (sizeof(char) <= sizeof(unsigned long)) {
+- return PyLong_FromUnsignedLong((unsigned long) value);
+-#ifdef HAVE_LONG_LONG
+- } else if (sizeof(char) <= sizeof(unsigned PY_LONG_LONG)) {
+- return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+-#endif
+- }
+- } else {
+- if (sizeof(char) <= sizeof(long)) {
+- return PyInt_FromLong((long) value);
+-#ifdef HAVE_LONG_LONG
+- } else if (sizeof(char) <= sizeof(PY_LONG_LONG)) {
+- return PyLong_FromLongLong((PY_LONG_LONG) value);
+-#endif
+- }
+- }
+- {
+- int one = 1; int little = (int)*(unsigned char *)&one;
+- unsigned char *bytes = (unsigned char *)&value;
+- return _PyLong_FromByteArray(bytes, sizeof(char),
+- little, !is_unsigned);
+- }
+-}
+-
+-/* CIntToPy */
+-static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_char(unsigned char value) {
+- const unsigned char neg_one = (unsigned char) ((unsigned char) 0 - (unsigned char) 1), const_zero = (unsigned char) 0;
+- const int is_unsigned = neg_one > const_zero;
+- if (is_unsigned) {
+- if (sizeof(unsigned char) < sizeof(long)) {
+- return PyInt_FromLong((long) value);
+- } else if (sizeof(unsigned char) <= sizeof(unsigned long)) {
+- return PyLong_FromUnsignedLong((unsigned long) value);
+-#ifdef HAVE_LONG_LONG
+- } else if (sizeof(unsigned char) <= sizeof(unsigned PY_LONG_LONG)) {
+- return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+-#endif
+- }
+- } else {
+- if (sizeof(unsigned char) <= sizeof(long)) {
+- return PyInt_FromLong((long) value);
+-#ifdef HAVE_LONG_LONG
+- } else if (sizeof(unsigned char) <= sizeof(PY_LONG_LONG)) {
+- return PyLong_FromLongLong((PY_LONG_LONG) value);
+-#endif
+- }
+- }
+- {
+- int one = 1; int little = (int)*(unsigned char *)&one;
+- unsigned char *bytes = (unsigned char *)&value;
+- return _PyLong_FromByteArray(bytes, sizeof(unsigned char),
+- little, !is_unsigned);
+- }
+-}
+-
+-/* CIntToPy */
+-static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_2wx_3svg_8_nanosvg_SVGpaintType(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType value) {
+- const enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType neg_one = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) ((enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) 0 - (enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) 1), const_zero = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) 0;
+- const int is_unsigned = neg_one > const_zero;
+- if (is_unsigned) {
+- if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) < sizeof(long)) {
+- return PyInt_FromLong((long) value);
+- } else if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) <= sizeof(unsigned long)) {
+- return PyLong_FromUnsignedLong((unsigned long) value);
+-#ifdef HAVE_LONG_LONG
+- } else if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) <= sizeof(unsigned PY_LONG_LONG)) {
+- return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
++static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wconversion"
+ #endif
+- }
+- } else {
+- if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) <= sizeof(long)) {
+- return PyInt_FromLong((long) value);
+-#ifdef HAVE_LONG_LONG
+- } else if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) <= sizeof(PY_LONG_LONG)) {
+- return PyLong_FromLongLong((PY_LONG_LONG) value);
++ const long neg_one = (long) -1, const_zero = (long) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic pop
+ #endif
+- }
+- }
+- {
+- int one = 1; int little = (int)*(unsigned char *)&one;
+- unsigned char *bytes = (unsigned char *)&value;
+- return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType),
+- little, !is_unsigned);
+- }
+-}
+-
+-/* CIntToPy */
+-static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value) {
+- const unsigned int neg_one = (unsigned int) ((unsigned int) 0 - (unsigned int) 1), const_zero = (unsigned int) 0;
+ const int is_unsigned = neg_one > const_zero;
+ if (is_unsigned) {
+- if (sizeof(unsigned int) < sizeof(long)) {
++ if (sizeof(long) < sizeof(long)) {
+ return PyInt_FromLong((long) value);
+- } else if (sizeof(unsigned int) <= sizeof(unsigned long)) {
++ } else if (sizeof(long) <= sizeof(unsigned long)) {
+ return PyLong_FromUnsignedLong((unsigned long) value);
+ #ifdef HAVE_LONG_LONG
+- } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) {
++ } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
+ return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
+ #endif
+ }
+ } else {
+- if (sizeof(unsigned int) <= sizeof(long)) {
++ if (sizeof(long) <= sizeof(long)) {
+ return PyInt_FromLong((long) value);
+ #ifdef HAVE_LONG_LONG
+- } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) {
++ } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
+ return PyLong_FromLongLong((PY_LONG_LONG) value);
+ #endif
+ }
+@@ -19646,14 +19513,21 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value)
+ {
+ int one = 1; int little = (int)*(unsigned char *)&one;
+ unsigned char *bytes = (unsigned char *)&value;
+- return _PyLong_FromByteArray(bytes, sizeof(unsigned int),
++ return _PyLong_FromByteArray(bytes, sizeof(long),
+ little, !is_unsigned);
+ }
+ }
+
+ /* CIntFromPy */
+ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
+- const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wconversion"
++#endif
++ const int neg_one = (int) -1, const_zero = (int) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic pop
++#endif
+ const int is_unsigned = neg_one > const_zero;
+ #if PY_MAJOR_VERSION < 3
+ if (likely(PyInt_Check(x))) {
+@@ -19840,9 +19714,92 @@ raise_neg_overflow:
+ return (int) -1;
+ }
+
++/* CIntToPy */
++static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wconversion"
++#endif
++ const int neg_one = (int) -1, const_zero = (int) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic pop
++#endif
++ const int is_unsigned = neg_one > const_zero;
++ if (is_unsigned) {
++ if (sizeof(int) < sizeof(long)) {
++ return PyInt_FromLong((long) value);
++ } else if (sizeof(int) <= sizeof(unsigned long)) {
++ return PyLong_FromUnsignedLong((unsigned long) value);
++#ifdef HAVE_LONG_LONG
++ } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
++ return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
++#endif
++ }
++ } else {
++ if (sizeof(int) <= sizeof(long)) {
++ return PyInt_FromLong((long) value);
++#ifdef HAVE_LONG_LONG
++ } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
++ return PyLong_FromLongLong((PY_LONG_LONG) value);
++#endif
++ }
++ }
++ {
++ int one = 1; int little = (int)*(unsigned char *)&one;
++ unsigned char *bytes = (unsigned char *)&value;
++ return _PyLong_FromByteArray(bytes, sizeof(int),
++ little, !is_unsigned);
++ }
++}
++
++/* CIntToPy */
++static CYTHON_INLINE PyObject* __Pyx_PyInt_From_char(char value) {
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wconversion"
++#endif
++ const char neg_one = (char) -1, const_zero = (char) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic pop
++#endif
++ const int is_unsigned = neg_one > const_zero;
++ if (is_unsigned) {
++ if (sizeof(char) < sizeof(long)) {
++ return PyInt_FromLong((long) value);
++ } else if (sizeof(char) <= sizeof(unsigned long)) {
++ return PyLong_FromUnsignedLong((unsigned long) value);
++#ifdef HAVE_LONG_LONG
++ } else if (sizeof(char) <= sizeof(unsigned PY_LONG_LONG)) {
++ return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
++#endif
++ }
++ } else {
++ if (sizeof(char) <= sizeof(long)) {
++ return PyInt_FromLong((long) value);
++#ifdef HAVE_LONG_LONG
++ } else if (sizeof(char) <= sizeof(PY_LONG_LONG)) {
++ return PyLong_FromLongLong((PY_LONG_LONG) value);
++#endif
++ }
++ }
++ {
++ int one = 1; int little = (int)*(unsigned char *)&one;
++ unsigned char *bytes = (unsigned char *)&value;
++ return _PyLong_FromByteArray(bytes, sizeof(char),
++ little, !is_unsigned);
++ }
++}
++
+ /* CIntFromPy */
+ static CYTHON_INLINE char __Pyx_PyInt_As_char(PyObject *x) {
+- const char neg_one = (char) ((char) 0 - (char) 1), const_zero = (char) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wconversion"
++#endif
++ const char neg_one = (char) -1, const_zero = (char) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic pop
++#endif
+ const int is_unsigned = neg_one > const_zero;
+ #if PY_MAJOR_VERSION < 3
+ if (likely(PyInt_Check(x))) {
+@@ -20029,9 +19986,54 @@ raise_neg_overflow:
+ return (char) -1;
+ }
+
++/* CIntToPy */
++static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_char(unsigned char value) {
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wconversion"
++#endif
++ const unsigned char neg_one = (unsigned char) -1, const_zero = (unsigned char) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic pop
++#endif
++ const int is_unsigned = neg_one > const_zero;
++ if (is_unsigned) {
++ if (sizeof(unsigned char) < sizeof(long)) {
++ return PyInt_FromLong((long) value);
++ } else if (sizeof(unsigned char) <= sizeof(unsigned long)) {
++ return PyLong_FromUnsignedLong((unsigned long) value);
++#ifdef HAVE_LONG_LONG
++ } else if (sizeof(unsigned char) <= sizeof(unsigned PY_LONG_LONG)) {
++ return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
++#endif
++ }
++ } else {
++ if (sizeof(unsigned char) <= sizeof(long)) {
++ return PyInt_FromLong((long) value);
++#ifdef HAVE_LONG_LONG
++ } else if (sizeof(unsigned char) <= sizeof(PY_LONG_LONG)) {
++ return PyLong_FromLongLong((PY_LONG_LONG) value);
++#endif
++ }
++ }
++ {
++ int one = 1; int little = (int)*(unsigned char *)&one;
++ unsigned char *bytes = (unsigned char *)&value;
++ return _PyLong_FromByteArray(bytes, sizeof(unsigned char),
++ little, !is_unsigned);
++ }
++}
++
+ /* CIntFromPy */
+ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
+- const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wconversion"
++#endif
++ const long neg_one = (long) -1, const_zero = (long) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic pop
++#endif
+ const int is_unsigned = neg_one > const_zero;
+ #if PY_MAJOR_VERSION < 3
+ if (likely(PyInt_Check(x))) {
+@@ -20218,9 +20220,92 @@ raise_neg_overflow:
+ return (long) -1;
+ }
+
++/* CIntToPy */
++static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_2wx_3svg_8_nanosvg_SVGpaintType(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType value) {
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wconversion"
++#endif
++ const enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType neg_one = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) -1, const_zero = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic pop
++#endif
++ const int is_unsigned = neg_one > const_zero;
++ if (is_unsigned) {
++ if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) < sizeof(long)) {
++ return PyInt_FromLong((long) value);
++ } else if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) <= sizeof(unsigned long)) {
++ return PyLong_FromUnsignedLong((unsigned long) value);
++#ifdef HAVE_LONG_LONG
++ } else if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) <= sizeof(unsigned PY_LONG_LONG)) {
++ return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
++#endif
++ }
++ } else {
++ if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) <= sizeof(long)) {
++ return PyInt_FromLong((long) value);
++#ifdef HAVE_LONG_LONG
++ } else if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType) <= sizeof(PY_LONG_LONG)) {
++ return PyLong_FromLongLong((PY_LONG_LONG) value);
++#endif
++ }
++ }
++ {
++ int one = 1; int little = (int)*(unsigned char *)&one;
++ unsigned char *bytes = (unsigned char *)&value;
++ return _PyLong_FromByteArray(bytes, sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGpaintType),
++ little, !is_unsigned);
++ }
++}
++
++/* CIntToPy */
++static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value) {
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wconversion"
++#endif
++ const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic pop
++#endif
++ const int is_unsigned = neg_one > const_zero;
++ if (is_unsigned) {
++ if (sizeof(unsigned int) < sizeof(long)) {
++ return PyInt_FromLong((long) value);
++ } else if (sizeof(unsigned int) <= sizeof(unsigned long)) {
++ return PyLong_FromUnsignedLong((unsigned long) value);
++#ifdef HAVE_LONG_LONG
++ } else if (sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG)) {
++ return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
++#endif
++ }
++ } else {
++ if (sizeof(unsigned int) <= sizeof(long)) {
++ return PyInt_FromLong((long) value);
++#ifdef HAVE_LONG_LONG
++ } else if (sizeof(unsigned int) <= sizeof(PY_LONG_LONG)) {
++ return PyLong_FromLongLong((PY_LONG_LONG) value);
++#endif
++ }
++ }
++ {
++ int one = 1; int little = (int)*(unsigned char *)&one;
++ unsigned char *bytes = (unsigned char *)&value;
++ return _PyLong_FromByteArray(bytes, sizeof(unsigned int),
++ little, !is_unsigned);
++ }
++}
++
+ /* CIntToPy */
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_2wx_3svg_8_nanosvg_SVGfillRule(enum __pyx_t_2wx_3svg_8_nanosvg_SVGfillRule value) {
+- const enum __pyx_t_2wx_3svg_8_nanosvg_SVGfillRule neg_one = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGfillRule) ((enum __pyx_t_2wx_3svg_8_nanosvg_SVGfillRule) 0 - (enum __pyx_t_2wx_3svg_8_nanosvg_SVGfillRule) 1), const_zero = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGfillRule) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wconversion"
++#endif
++ const enum __pyx_t_2wx_3svg_8_nanosvg_SVGfillRule neg_one = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGfillRule) -1, const_zero = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGfillRule) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic pop
++#endif
+ const int is_unsigned = neg_one > const_zero;
+ if (is_unsigned) {
+ if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGfillRule) < sizeof(long)) {
+@@ -20251,7 +20336,14 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_2wx_3svg_8_nanosvg
+
+ /* CIntToPy */
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_2wx_3svg_8_nanosvg_SVGflags(enum __pyx_t_2wx_3svg_8_nanosvg_SVGflags value) {
+- const enum __pyx_t_2wx_3svg_8_nanosvg_SVGflags neg_one = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGflags) ((enum __pyx_t_2wx_3svg_8_nanosvg_SVGflags) 0 - (enum __pyx_t_2wx_3svg_8_nanosvg_SVGflags) 1), const_zero = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGflags) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wconversion"
++#endif
++ const enum __pyx_t_2wx_3svg_8_nanosvg_SVGflags neg_one = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGflags) -1, const_zero = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGflags) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic pop
++#endif
+ const int is_unsigned = neg_one > const_zero;
+ if (is_unsigned) {
+ if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGflags) < sizeof(long)) {
+@@ -20282,7 +20374,14 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_2wx_3svg_8_nanosvg
+
+ /* CIntToPy */
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_2wx_3svg_8_nanosvg_SVGlineCap(enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineCap value) {
+- const enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineCap neg_one = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineCap) ((enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineCap) 0 - (enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineCap) 1), const_zero = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineCap) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wconversion"
++#endif
++ const enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineCap neg_one = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineCap) -1, const_zero = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineCap) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic pop
++#endif
+ const int is_unsigned = neg_one > const_zero;
+ if (is_unsigned) {
+ if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineCap) < sizeof(long)) {
+@@ -20313,7 +20412,14 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_2wx_3svg_8_nanosvg
+
+ /* CIntToPy */
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_2wx_3svg_8_nanosvg_SVGlineJoin(enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineJoin value) {
+- const enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineJoin neg_one = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineJoin) ((enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineJoin) 0 - (enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineJoin) 1), const_zero = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineJoin) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wconversion"
++#endif
++ const enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineJoin neg_one = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineJoin) -1, const_zero = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineJoin) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic pop
++#endif
+ const int is_unsigned = neg_one > const_zero;
+ if (is_unsigned) {
+ if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGlineJoin) < sizeof(long)) {
+@@ -20344,7 +20450,14 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_2wx_3svg_8_nanosvg
+
+ /* CIntToPy */
+ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum____pyx_t_2wx_3svg_8_nanosvg_SVGspreadType(enum __pyx_t_2wx_3svg_8_nanosvg_SVGspreadType value) {
+- const enum __pyx_t_2wx_3svg_8_nanosvg_SVGspreadType neg_one = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGspreadType) ((enum __pyx_t_2wx_3svg_8_nanosvg_SVGspreadType) 0 - (enum __pyx_t_2wx_3svg_8_nanosvg_SVGspreadType) 1), const_zero = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGspreadType) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wconversion"
++#endif
++ const enum __pyx_t_2wx_3svg_8_nanosvg_SVGspreadType neg_one = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGspreadType) -1, const_zero = (enum __pyx_t_2wx_3svg_8_nanosvg_SVGspreadType) 0;
++#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
++#pragma GCC diagnostic pop
++#endif
+ const int is_unsigned = neg_one > const_zero;
+ if (is_unsigned) {
+ if (sizeof(enum __pyx_t_2wx_3svg_8_nanosvg_SVGspreadType) < sizeof(long)) {
+@@ -20907,6 +21020,30 @@ PyObject *__Pyx_Coroutine_MethodReturn(CYTHON_UNUSED PyObject* gen, PyObject *re
+ }
+ return retval;
+ }
++#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
++static CYTHON_INLINE
++PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) {
++#if PY_VERSION_HEX <= 0x030A00A1
++ return _PyGen_Send(gen, arg);
++#else
++ PyObject *result;
++ if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) {
++ if (PyAsyncGen_CheckExact(gen)) {
++ assert(result == Py_None);
++ PyErr_SetNone(PyExc_StopAsyncIteration);
++ }
++ else if (result == Py_None) {
++ PyErr_SetNone(PyExc_StopIteration);
++ }
++ else {
++ _PyGen_SetStopIterationValue(result);
++ }
++ Py_CLEAR(result);
++ }
++ return result;
++#endif
++}
++#endif
+ static CYTHON_INLINE
+ PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) {
+ PyObject *ret;
+@@ -20943,12 +21080,12 @@ static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) {
+ #endif
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
+ if (PyGen_CheckExact(yf)) {
+- ret = _PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
++ ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
+ } else
+ #endif
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
+ if (PyCoro_CheckExact(yf)) {
+- ret = _PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
++ ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
+ } else
+ #endif
+ {
+@@ -21032,7 +21169,7 @@ static PyObject *__Pyx_Generator_Next(PyObject *self) {
+ #endif
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
+ if (PyGen_CheckExact(yf)) {
+- ret = _PyGen_Send((PyGenObject*)yf, NULL);
++ ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL);
+ } else
+ #endif
+ #ifdef __Pyx_Coroutine_USED
+@@ -21192,6 +21329,7 @@ static int __Pyx_Coroutine_clear(PyObject *self) {
+ }
+ #endif
+ Py_CLEAR(gen->gi_code);
++ Py_CLEAR(gen->gi_frame);
+ Py_CLEAR(gen->gi_name);
+ Py_CLEAR(gen->gi_qualname);
+ Py_CLEAR(gen->gi_modulename);
+@@ -21208,7 +21346,7 @@ static void __Pyx_Coroutine_dealloc(PyObject *self) {
+ if (PyObject_CallFinalizerFromDealloc(self))
+ #else
+ Py_TYPE(gen)->tp_del(self);
+- if (self->ob_refcnt > 0)
++ if (Py_REFCNT(self) > 0)
+ #endif
+ {
+ return;
+@@ -21235,7 +21373,7 @@ static void __Pyx_Coroutine_del(PyObject *self) {
+ }
+ #if !CYTHON_USE_TP_FINALIZE
+ assert(self->ob_refcnt == 0);
+- self->ob_refcnt = 1;
++ __Pyx_SET_REFCNT(self, 1);
+ #endif
+ __Pyx_PyThreadState_assign
+ __Pyx_ErrFetch(&error_type, &error_value, &error_traceback);
+@@ -21302,17 +21440,17 @@ static void __Pyx_Coroutine_del(PyObject *self) {
+ }
+ __Pyx_ErrRestore(error_type, error_value, error_traceback);
+ #if !CYTHON_USE_TP_FINALIZE
+- assert(self->ob_refcnt > 0);
++ assert(Py_REFCNT(self) > 0);
+ if (--self->ob_refcnt == 0) {
+ return;
+ }
+ {
+- Py_ssize_t refcnt = self->ob_refcnt;
++ Py_ssize_t refcnt = Py_REFCNT(self);
+ _Py_NewReference(self);
+- self->ob_refcnt = refcnt;
++ __Pyx_SET_REFCNT(self, refcnt);
+ }
+ #if CYTHON_COMPILING_IN_CPYTHON
+- assert(PyType_IS_GC(self->ob_type) &&
++ assert(PyType_IS_GC(Py_TYPE(self)) &&
+ _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED);
+ _Py_DEC_REFTOTAL;
+ #endif
+@@ -21378,6 +21516,27 @@ __Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, CYTHO
+ Py_XDECREF(tmp);
+ return 0;
+ }
++static PyObject *
++__Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, CYTHON_UNUSED void *context)
++{
++ PyObject *frame = self->gi_frame;
++ if (!frame) {
++ if (unlikely(!self->gi_code)) {
++ Py_RETURN_NONE;
++ }
++ frame = (PyObject *) PyFrame_New(
++ PyThreadState_Get(), /*PyThreadState *tstate,*/
++ (PyCodeObject*) self->gi_code, /*PyCodeObject *code,*/
++ __pyx_d, /*PyObject *globals,*/
++ 0 /*PyObject *locals*/
++ );
++ if (unlikely(!frame))
++ return NULL;
++ self->gi_frame = frame;
++ }
++ Py_INCREF(frame);
++ return frame;
++}
+ static __pyx_CoroutineObject *__Pyx__Coroutine_New(
+ PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
+ PyObject *name, PyObject *qualname, PyObject *module_name) {
+@@ -21411,6 +21570,7 @@ static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
+ gen->gi_modulename = module_name;
+ Py_XINCREF(code);
+ gen->gi_code = code;
++ gen->gi_frame = NULL;
+ PyObject_GC_Track(gen);
+ return gen;
+ }
+@@ -21534,6 +21694,8 @@ static PyGetSetDef __pyx_Generator_getsets[] = {
+ (char*) PyDoc_STR("name of the generator"), 0},
+ {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname,
+ (char*) PyDoc_STR("qualified name of the generator"), 0},
++ {(char *) "gi_frame", (getter)__Pyx_Coroutine_get_frame, NULL,
++ (char*) PyDoc_STR("Frame of the generator"), 0},
+ {0, 0, 0, 0, 0}
+ };
+ static PyTypeObject __pyx_GeneratorType_type = {
+--
+2.33.0
+
diff --git a/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.1.1.bb b/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.1.1.bb
index 6ec92c2cec..4d739b86f7 100644
--- a/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.1.1.bb
+++ b/meta-python/recipes-devtools/python3-wxgtk4/python3-wxgtk4_4.1.1.bb
@@ -11,6 +11,7 @@ PYPI_PACKAGE = "wxPython"
SRC_URI += "file://add-back-option-build-base.patch \
file://wxgtk-fixup-build-scripts.patch \
file://sip-fix-override-functions.patch \
+ file://0001-Update-Cython-version-to-fix-NanoSVG-issues-with-Pyt.patch \
"
SRC_URI[sha256sum] = "00e5e3180ac7f2852f342ad341d57c44e7e4326de0b550b9a5c4a8361b6c3528"
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 04/20] php: upgrade 8.1.4 -> 8.1.5
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (2 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 03/20] python3-wxgtk4: backport patch to fix svg issue Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 05/20] php: upgrade 8.1.5 -> 8.1.6 Armin Kuster
` (15 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: wangmy <wangmy@fujitsu.com>
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 412638c21b09ecc6dbe4bd480fbc8a0a83d05da5)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
meta-oe/recipes-devtools/php/{php_8.1.4.bb => php_8.1.5.bb} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename meta-oe/recipes-devtools/php/{php_8.1.4.bb => php_8.1.5.bb} (99%)
diff --git a/meta-oe/recipes-devtools/php/php_8.1.4.bb b/meta-oe/recipes-devtools/php/php_8.1.5.bb
similarity index 99%
rename from meta-oe/recipes-devtools/php/php_8.1.4.bb
rename to meta-oe/recipes-devtools/php/php_8.1.5.bb
index bf6c543097..e3af9f6984 100644
--- a/meta-oe/recipes-devtools/php/php_8.1.4.bb
+++ b/meta-oe/recipes-devtools/php/php_8.1.5.bb
@@ -33,7 +33,7 @@ SRC_URI:append:class-target = " \
"
S = "${WORKDIR}/php-${PV}"
-SRC_URI[sha256sum] = "b3f688cb69758523838b8e7f509aaef0152133d9b84a84a0b7cf68eeafc1df76"
+SRC_URI[sha256sum] = "827de56771c3ab8313a069812f15f6ec49989d510aebd0dce180839c6d8d6ff3"
inherit autotools pkgconfig python3native gettext
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 05/20] php: upgrade 8.1.5 -> 8.1.6
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (3 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 04/20] php: upgrade 8.1.4 -> 8.1.5 Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 06/20] postgresql: upgrade 14.2 -> 14.3 Armin Kuster
` (14 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: wangmy <wangmy@fujitsu.com>
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit b7bef320005a7e44f28f871d3ecd825dae9c14b8)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
meta-oe/recipes-devtools/php/{php_8.1.5.bb => php_8.1.6.bb} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename meta-oe/recipes-devtools/php/{php_8.1.5.bb => php_8.1.6.bb} (99%)
diff --git a/meta-oe/recipes-devtools/php/php_8.1.5.bb b/meta-oe/recipes-devtools/php/php_8.1.6.bb
similarity index 99%
rename from meta-oe/recipes-devtools/php/php_8.1.5.bb
rename to meta-oe/recipes-devtools/php/php_8.1.6.bb
index e3af9f6984..96af595a45 100644
--- a/meta-oe/recipes-devtools/php/php_8.1.5.bb
+++ b/meta-oe/recipes-devtools/php/php_8.1.6.bb
@@ -33,7 +33,7 @@ SRC_URI:append:class-target = " \
"
S = "${WORKDIR}/php-${PV}"
-SRC_URI[sha256sum] = "827de56771c3ab8313a069812f15f6ec49989d510aebd0dce180839c6d8d6ff3"
+SRC_URI[sha256sum] = "7b353304b7407554f70d3e101a226a1fc22decae5c4c42ed270c4e389bfa1b66"
inherit autotools pkgconfig python3native gettext
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 06/20] postgresql: upgrade 14.2 -> 14.3
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (4 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 05/20] php: upgrade 8.1.5 -> 8.1.6 Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 07/20] sdbus-c++-libsystemd: Bump SRCREV to last commit of 250-stable branch Armin Kuster
` (13 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: wangmy <wangmy@fujitsu.com>
0001-configure.ac-bypass-autoconf-2.69-version-check.patch
refreshed for new version.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit b3aa90d11d0b6dbf705a0ed08d256e4980766902)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
...01-configure.ac-bypass-autoconf-2.69-version-check.patch | 6 +++---
.../postgresql/{postgresql_14.2.bb => postgresql_14.3.bb} | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
rename meta-oe/recipes-dbs/postgresql/{postgresql_14.2.bb => postgresql_14.3.bb} (80%)
diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch b/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
index 39ec7c2c8c..78f24585e8 100644
--- a/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
+++ b/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
@@ -1,4 +1,4 @@
-From 9c9ac8b64f940bf69ecdc92abca9b58f12b401c3 Mon Sep 17 00:00:00 2001
+From f7084ba49758a6b8db46b917b7c0f831bd65a08f Mon Sep 17 00:00:00 2001
From: Yi Fan Yu <yifan.yu@windriver.com>
Date: Fri, 5 Feb 2021 17:15:42 -0500
Subject: [PATCH] configure.ac: bypass autoconf 2.69 version check
@@ -14,12 +14,12 @@ Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
1 file changed, 4 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 3b148b6..94f39c5 100644
+index d3c55f2..9120184 100644
--- a/configure.ac
+++ b/configure.ac
@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
- AC_INIT([PostgreSQL], [14.2], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
+ AC_INIT([PostgreSQL], [14.3], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
-Untested combinations of 'autoconf' and PostgreSQL versions are not
diff --git a/meta-oe/recipes-dbs/postgresql/postgresql_14.2.bb b/meta-oe/recipes-dbs/postgresql/postgresql_14.3.bb
similarity index 80%
rename from meta-oe/recipes-dbs/postgresql/postgresql_14.2.bb
rename to meta-oe/recipes-dbs/postgresql/postgresql_14.3.bb
index 52e8867142..c686c9b358 100644
--- a/meta-oe/recipes-dbs/postgresql/postgresql_14.2.bb
+++ b/meta-oe/recipes-dbs/postgresql/postgresql_14.3.bb
@@ -10,4 +10,4 @@ SRC_URI += "\
file://remove_duplicate.patch \
"
-SRC_URI[sha256sum] = "2cf78b2e468912f8101d695db5340cf313c2e9f68a612fb71427524e8c9a977a"
+SRC_URI[sha256sum] = "279057368bf59a919c05ada8f95c5e04abb43e74b9a2a69c3d46a20e07a9af38"
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 07/20] sdbus-c++-libsystemd: Bump SRCREV to last commit of 250-stable branch
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (5 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 06/20] postgresql: upgrade 14.2 -> 14.3 Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 08/20] libmtp: Add doxygen-native dependency in case documentation build is enabled in PACKAGECONFIG. This fixes a FTBFS due to missing dependency Armin Kuster
` (12 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Gianfranco <costamagna.gianfranco@gmail.com>
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 32581a7a4653b590118e53b5fabdec72f1d3d0c2)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb
index 6bb5f7abb8..d5c799aac3 100644
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb
@@ -10,7 +10,7 @@ inherit meson pkgconfig
DEPENDS += "gperf-native gettext-native util-linux libcap util-linux python3-jinja2-native"
-SRCREV = "1b003bbc806198dbdd57b405d968f30565495e70"
+SRCREV = "73be9643910c3f7f3ff84765d63060846c110016"
SRCBRANCH = "v250-stable"
SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \
file://static-libsystemd-pkgconfig.patch \
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 08/20] libmtp: Add doxygen-native dependency in case documentation build is enabled in PACKAGECONFIG. This fixes a FTBFS due to missing dependency.
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (6 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 07/20] sdbus-c++-libsystemd: Bump SRCREV to last commit of 250-stable branch Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 09/20] mariadb: update to 10.7.4 Armin Kuster
` (11 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Gianfranco <costamagna.gianfranco@gmail.com>
Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit a9e6d16e6640d105ecf3470ab891598034c9ef33)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
meta-oe/recipes-connectivity/libmtp/libmtp_1.1.19.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.19.bb b/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.19.bb
index b4cbb792ce..3483db3c83 100644
--- a/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.19.bb
+++ b/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.19.bb
@@ -30,7 +30,7 @@ EXTRA_OECONF += " \
"
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)}"
-PACKAGECONFIG[doxygen] = "--enable-doxygen,--disable-doxygen"
+PACKAGECONFIG[doxygen] = "--enable-doxygen,--disable-doxygen,doxygen-native"
PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile"
PACKAGECONFIG[mtpz] = "--enable-mtpz,--disable-mtpz,libgcrypt"
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 09/20] mariadb: update to 10.7.4
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (7 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 08/20] libmtp: Add doxygen-native dependency in case documentation build is enabled in PACKAGECONFIG. This fixes a FTBFS due to missing dependency Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 10/20] mariadb: Fix i386 Clang builds Armin Kuster
` (10 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
LTS version, bugfix only update.
Drop clang-64bit-atomics.patch as the patched code was removed in this update.
https://github.com/MariaDB/server/commit/cf483a7766d0730872232fdedd727d30a493fe29
Includes these CVES:
CVE-2022-27458
CVE-2022-27457
CVE-2022-27456
CVE-2022-27455
CVE-2022-27452
CVE-2022-27451
CVE-2022-27449
CVE-2022-27448
CVE-2022-27447
CVE-2022-27446
CVE-2022-27445
CVE-2022-27444
CVE-2022-27387
CVE-2022-27386
CVE-2022-27384
CVE-2022-27383
CVE-2022-27382
CVE-2022-27381
CVE-2022-27380
CVE-2022-27379
CVE-2022-27378
CVE-2022-27377
CVE-2022-27376
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit c1720935bd80fa6023f2fcec7c252c0fea183029)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
...ive_10.7.3.bb => mariadb-native_10.7.4.bb} | 0
meta-oe/recipes-dbs/mysql/mariadb.inc | 3 +-
.../mysql/mariadb/clang-64bit-atomics.patch | 178 ------------------
.../{mariadb_10.7.3.bb => mariadb_10.7.4.bb} | 0
4 files changed, 1 insertion(+), 180 deletions(-)
rename meta-oe/recipes-dbs/mysql/{mariadb-native_10.7.3.bb => mariadb-native_10.7.4.bb} (100%)
delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch
rename meta-oe/recipes-dbs/mysql/{mariadb_10.7.3.bb => mariadb_10.7.4.bb} (100%)
diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb
similarity index 100%
rename from meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb
rename to meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb
diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc
index 855f124834..3f246dc0a5 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -20,11 +20,10 @@ SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \
file://mm_malloc.patch \
file://sys_futex.patch \
file://mariadb-openssl3.patch \
- file://clang-64bit-atomics.patch \
"
SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch"
-SRC_URI[sha256sum] = "da286919ffc9c913282202349709b6ba4ebcd342815e8dae0aa6b6bd8f515cd4"
+SRC_URI[sha256sum] = "73dd9c9d325520f20ca5e0ef16f94b7be1146bed7e4a78e735c20daebf3a4173"
UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch b/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch
deleted file mode 100644
index cdc2947b7b..0000000000
--- a/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-Prevent Clang from emitting atomic libcalls
-
-Clang expects 8-byte alignment for some 64-bit atomic operations
-in some 32-bit targets. Native instruction lock cmpxchg8b (for x86)
-should only require 4-byte alignment.
-
-This patch tries to add 8-byte alignents to data needing atomic ops
-which helps clang to not generate the libatomic calls but emit
-builtins directly.
-
-Upstream-Status: Submitted[https://jira.mariadb.org/browse/MDEV-28162]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/include/my_atomic.h
-+++ b/include/my_atomic.h
-@@ -115,6 +115,16 @@
- #include "atomic/gcc_builtins.h"
- #endif
-
-+#include <stdint.h>
-+
-+# ifdef __GNUC__
-+typedef __attribute__((__aligned__(8))) int64 ATOMIC_I64;
-+typedef __attribute__((__aligned__(8))) uint64 ATOMIC_U64;
-+# else
-+typedef int64 ATOMIC_I64;
-+typedef uint64 ATOMIC_U64;
-+# endif
-+
- #if SIZEOF_LONG == 4
- #define my_atomic_addlong(A,B) my_atomic_add32((int32*) (A), (B))
- #define my_atomic_loadlong(A) my_atomic_load32((int32*) (A))
-@@ -123,12 +133,12 @@
- #define my_atomic_faslong(A,B) my_atomic_fas32((int32*) (A), (B))
- #define my_atomic_caslong(A,B,C) my_atomic_cas32((int32*) (A), (int32*) (B), (C))
- #else
--#define my_atomic_addlong(A,B) my_atomic_add64((int64*) (A), (B))
--#define my_atomic_loadlong(A) my_atomic_load64((int64*) (A))
--#define my_atomic_loadlong_explicit(A,O) my_atomic_load64_explicit((int64*) (A), (O))
--#define my_atomic_storelong(A,B) my_atomic_store64((int64*) (A), (B))
--#define my_atomic_faslong(A,B) my_atomic_fas64((int64*) (A), (B))
--#define my_atomic_caslong(A,B,C) my_atomic_cas64((int64*) (A), (int64*) (B), (C))
-+#define my_atomic_addlong(A,B) my_atomic_add64((ATOMIC_I64*) (A), (B))
-+#define my_atomic_loadlong(A) my_atomic_load64((ATOMIC_I64*) (A))
-+#define my_atomic_loadlong_explicit(A,O) my_atomic_load64_explicit((ATOMIC_I64*) (A), (O))
-+#define my_atomic_storelong(A,B) my_atomic_store64((ATOMIC_I64*) (A), (B))
-+#define my_atomic_faslong(A,B) my_atomic_fas64((ATOMIC_I64*) (A), (B))
-+#define my_atomic_caslong(A,B,C) my_atomic_cas64((ATOMIC_I64*) (A), (ATOMIC_I64*) (B), (C))
- #endif
-
- #ifndef MY_MEMORY_ORDER_SEQ_CST
---- a/storage/perfschema/pfs_atomic.h
-+++ b/storage/perfschema/pfs_atomic.h
-@@ -41,7 +41,7 @@ public:
- }
-
- /** Atomic load. */
-- static inline int64 load_64(int64 *ptr)
-+ static inline int64 load_64(ATOMIC_I64 *ptr)
- {
- return my_atomic_load64(ptr);
- }
-@@ -53,9 +53,9 @@ public:
- }
-
- /** Atomic load. */
-- static inline uint64 load_u64(uint64 *ptr)
-+ static inline uint64 load_u64(ATOMIC_U64 *ptr)
- {
-- return (uint64) my_atomic_load64((int64*) ptr);
-+ return (uint64) my_atomic_load64((ATOMIC_I64*) ptr);
- }
-
- /** Atomic store. */
-@@ -65,7 +65,7 @@ public:
- }
-
- /** Atomic store. */
-- static inline void store_64(int64 *ptr, int64 value)
-+ static inline void store_64(ATOMIC_I64 *ptr, int64 value)
- {
- my_atomic_store64(ptr, value);
- }
-@@ -77,9 +77,9 @@ public:
- }
-
- /** Atomic store. */
-- static inline void store_u64(uint64 *ptr, uint64 value)
-+ static inline void store_u64(ATOMIC_U64 *ptr, uint64 value)
- {
-- my_atomic_store64((int64*) ptr, (int64) value);
-+ my_atomic_store64((ATOMIC_I64*) ptr, (int64) value);
- }
-
- /** Atomic add. */
-@@ -89,7 +89,7 @@ public:
- }
-
- /** Atomic add. */
-- static inline int64 add_64(int64 *ptr, int64 value)
-+ static inline int64 add_64(ATOMIC_I64 *ptr, int64 value)
- {
- return my_atomic_add64(ptr, value);
- }
-@@ -101,9 +101,9 @@ public:
- }
-
- /** Atomic add. */
-- static inline uint64 add_u64(uint64 *ptr, uint64 value)
-+ static inline uint64 add_u64(ATOMIC_U64 *ptr, uint64 value)
- {
-- return (uint64) my_atomic_add64((int64*) ptr, (int64) value);
-+ return (uint64) my_atomic_add64((ATOMIC_I64*) ptr, (int64) value);
- }
-
- /** Atomic compare and swap. */
-@@ -114,7 +114,7 @@ public:
- }
-
- /** Atomic compare and swap. */
-- static inline bool cas_64(int64 *ptr, int64 *old_value,
-+ static inline bool cas_64(ATOMIC_I64 *ptr, ATOMIC_I64 *old_value,
- int64 new_value)
- {
- return my_atomic_cas64(ptr, old_value, new_value);
-@@ -129,10 +129,10 @@ public:
- }
-
- /** Atomic compare and swap. */
-- static inline bool cas_u64(uint64 *ptr, uint64 *old_value,
-+ static inline bool cas_u64(ATOMIC_U64 *ptr, ATOMIC_U64 *old_value,
- uint64 new_value)
- {
-- return my_atomic_cas64((int64*) ptr, (int64*) old_value,
-+ return my_atomic_cas64((ATOMIC_I64*) ptr, (ATOMIC_I64*) old_value,
- (uint64) new_value);
- }
- };
---- a/sql/sql_class.h
-+++ b/sql/sql_class.h
-@@ -1049,7 +1049,7 @@ static inline void update_global_memory_
- (longlong) global_status_var.global_memory_used,
- size));
- // workaround for gcc 4.2.4-1ubuntu4 -fPIE (from DEB_BUILD_HARDENING=1)
-- int64 volatile * volatile ptr= &global_status_var.global_memory_used;
-+ ATOMIC_I64 volatile * volatile ptr= &global_status_var.global_memory_used;
- my_atomic_add64_explicit(ptr, size, MY_MEMORY_ORDER_RELAXED);
- }
-
---- a/storage/innobase/include/srv0mon.h
-+++ b/storage/innobase/include/srv0mon.h
-@@ -49,7 +49,7 @@ enum monitor_running_status {
- typedef enum monitor_running_status monitor_running_t;
-
- /** Monitor counter value type */
--typedef int64_t mon_type_t;
-+typedef ATOMIC_I64 mon_type_t;
-
- /** Two monitor structures are defined in this file. One is
- "monitor_value_t" which contains dynamic counter values for each
-@@ -568,7 +568,7 @@ Use MONITOR_INC if appropriate mutex pro
- if (enabled) { \
- ib_uint64_t value; \
- value = my_atomic_add64_explicit( \
-- (int64*) &MONITOR_VALUE(monitor), 1, \
-+ (ATOMIC_I64*) &MONITOR_VALUE(monitor), 1, \
- MY_MEMORY_ORDER_RELAXED) + 1; \
- /* Note: This is not 100% accurate because of the \
- inherent race, we ignore it due to performance. */ \
-@@ -585,7 +585,7 @@ Use MONITOR_DEC if appropriate mutex pro
- if (enabled) { \
- ib_uint64_t value; \
- value = my_atomic_add64_explicit( \
-- (int64*) &MONITOR_VALUE(monitor), -1, \
-+ (ATOMIC_I64*) &MONITOR_VALUE(monitor), -1, \
- MY_MEMORY_ORDER_RELAXED) - 1; \
- /* Note: This is not 100% accurate because of the \
- inherent race, we ignore it due to performance. */ \
diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb
similarity index 100%
rename from meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb
rename to meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 10/20] mariadb: Fix i386 Clang builds
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (8 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 09/20] mariadb: update to 10.7.4 Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 11/20] unattended-upgrades: Disable auto-detecting modules Armin Kuster
` (9 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Armin Kuster <akuster808@gmial.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit d59578a8170266d0d7e62c132495c0e06a17e0c9)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
meta-oe/recipes-dbs/mysql/mariadb.inc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc
index 3f246dc0a5..922373b633 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -77,6 +77,8 @@ LDFLAGS += " -pthread"
BUILD_CFLAGS += "-fuse-ld=bfd"
BUILD_CXXFLAGS += "-fuse-ld=bfd"
+LDFLAGS:x86:toolchain-clang = "-latomic"
+
EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \
-DWITH_JEMALLOC=no \
-DWITHOUT_TOKUDB=TRUE \
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 11/20] unattended-upgrades: Disable auto-detecting modules
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (9 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 10/20] mariadb: Fix i386 Clang builds Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 12/20] libportal: add distro features check Armin Kuster
` (8 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit e7193af6c94436a577ebd472c6294eaef7c7cd15)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
...up.py-Disable-autodection-of-modules.patch | 28 +++++++++++++++++++
.../unattended-upgrades_2.6.bb | 1 +
2 files changed, 29 insertions(+)
create mode 100644 meta-oe/recipes-devtools/unattended-upgrades/files/0001-setup.py-Disable-autodection-of-modules.patch
diff --git a/meta-oe/recipes-devtools/unattended-upgrades/files/0001-setup.py-Disable-autodection-of-modules.patch b/meta-oe/recipes-devtools/unattended-upgrades/files/0001-setup.py-Disable-autodection-of-modules.patch
new file mode 100644
index 0000000000..ec70dd6570
--- /dev/null
+++ b/meta-oe/recipes-devtools/unattended-upgrades/files/0001-setup.py-Disable-autodection-of-modules.patch
@@ -0,0 +1,28 @@
+From 8fd80ead718ffc53d7182b9df6f49974113ff8fc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 May 2022 11:23:58 -0700
+Subject: [PATCH] setup.py: Disable autodection of modules
+
+This helps to fix build with latest setuptools
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ setup.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/setup.py b/setup.py
+index 932bf01..fd5a092 100755
+--- a/setup.py
++++ b/setup.py
+@@ -12,6 +12,7 @@ if __name__ == "__main__":
+ name='unattended-upgrades',
+ version='0.1',
+ scripts=['unattended-upgrade'],
++ py_modules=[],
+ data_files=[
+ ('../etc/logrotate.d/',
+ ["data/logrotate.d/unattended-upgrades"]),
+--
+2.36.1
+
diff --git a/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.6.bb b/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.6.bb
index 1ec205f8b8..d4f5b8d0cb 100644
--- a/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.6.bb
+++ b/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.6.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
SRC_URI = "git://github.com/mvo5/unattended-upgrades.git;protocol=https;branch=master \
file://0001-unattended-upgrade-Remove-distro_info-usage-to-check.patch \
+ file://0001-setup.py-Disable-autodection-of-modules.patch \
"
SRCREV = "c6db6fad26a2b83ba301b52ff5dee98cef7558ca"
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 12/20] libportal: add distro features check
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (10 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 11/20] unattended-upgrades: Disable auto-detecting modules Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 13/20] graphviz: rrecommends on liberation-fonts Armin Kuster
` (7 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Kai Kang <kai.kang@windriver.com>
Add distro features check for libportal because it depends on gtk+3
which requires one of ${GTK3DISTROFEATURES}.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 0baa7793e0df81a21a130e6f0513f27b322cd4ad)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
meta-gnome/recipes-gnome/libportal/libportal_0.6.bb | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meta-gnome/recipes-gnome/libportal/libportal_0.6.bb b/meta-gnome/recipes-gnome/libportal/libportal_0.6.bb
index ec728d78b9..9784f04818 100644
--- a/meta-gnome/recipes-gnome/libportal/libportal_0.6.bb
+++ b/meta-gnome/recipes-gnome/libportal/libportal_0.6.bb
@@ -10,7 +10,9 @@ SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https;branch=main"
SRCREV = "13df0b887a7eb7b0f9b14069561a41f62e813155"
S = "${WORKDIR}/git"
-inherit meson gtk-doc gobject-introspection
+inherit meson gtk-doc gobject-introspection features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
DEPENDS += "glib-2.0 glib-2.0-native gtk+3"
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 13/20] graphviz: rrecommends on liberation-fonts
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (11 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 12/20] libportal: add distro features check Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 14/20] conntrack-tools: fix postinst script Armin Kuster
` (6 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Kai Kang <kai.kang@windriver.com>
There will be tofos in output pictures without any font, so make
graphviz rrecommends on liberation-fonts.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 0e036cb1bc0c272b27cbd7e42eacbae48edc685e)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
meta-oe/recipes-graphics/graphviz/graphviz_2.50.0.bb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz_2.50.0.bb b/meta-oe/recipes-graphics/graphviz/graphviz_2.50.0.bb
index a9258e979a..aa597cd8e4 100644
--- a/meta-oe/recipes-graphics/graphviz/graphviz_2.50.0.bb
+++ b/meta-oe/recipes-graphics/graphviz/graphviz_2.50.0.bb
@@ -114,4 +114,6 @@ INSANE_SKIP:${PN}-python = "dev-so"
FILES_SOLIBSDEV:append = " ${libdir}/graphviz/lib*${SOLIBSDEV}"
+RRECOMMENDS:${PN} = "liberation-fonts"
+
BBCLASSEXTEND = "native nativesdk"
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 14/20] conntrack-tools: fix postinst script
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (12 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 13/20] graphviz: rrecommends on liberation-fonts Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 15/20] sdbus-c++: Link with libatomic on mips/ppc32 Armin Kuster
` (5 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Adrian Freihofer <adrian.freihofer@gmail.com>
Fix error caused by postinst script of conntrack-tools:
do_rootfs: Postinstall scriptlets of ['conntrack-tools'] have failed...
Configuring ... rootfs//var/lib/opkg/info/conntrack-tools.postinst:
line 2: setcap: command not found
conntrack-tools.postinst returned 127, marking as unpacked only...
Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 55fd9844830bc835c2bf8def9406edc9e2df0e16)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
.../recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb b/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb
index 50f7ced88d..8f57e823b8 100644
--- a/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb
+++ b/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb
@@ -37,3 +37,4 @@ do_install:append() {
pkg_postinst:${PN} () {
setcap cap_net_admin+ep "$D/${sbindir}/conntrack"
}
+PACKAGE_WRITE_DEPS += "libcap-native"
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 15/20] sdbus-c++: Link with libatomic on mips/ppc32
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (13 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 14/20] conntrack-tools: fix postinst script Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 16/20] sdbus-c++: Link with libatomic for rv32 Armin Kuster
` (4 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Gianfranco Costamagna <locutusofborg@debian.org>
(cherry picked from commit 366663527aa5efd4e43a62919edcdf9caf14e77c)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.0.0.bb | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.0.0.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.0.0.bb
index 39f0b4c560..e1a7033a20 100644
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.0.0.bb
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.0.0.bb
@@ -27,6 +27,11 @@ EXTRA_OECMAKE = "-DBUILD_CODE_GEN=OFF \
S = "${WORKDIR}/git"
+# Link libatomic on architectures without 64bit atomics fixes
+# libsdbus-c++.so.1.1.0: undefined reference to `__atomic_load_8'
+LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+LDFLAGS:append:powerpc = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+
do_install:append() {
if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
rm -rf ${D}${sysconfdir}/dbus-1
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 16/20] sdbus-c++: Link with libatomic for rv32
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (14 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 15/20] sdbus-c++: Link with libatomic on mips/ppc32 Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 17/20] sdbus-c++-libsystemd: Fix patch fuzz Armin Kuster
` (3 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Khem Raj <raj.khem@gmail.com>
Fixes
libsdbus-c++.so.1.1.0: undefined reference to `__atomic_load_8'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 5029571d689f80bfa5c3a391f088d1484c61d583)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.0.0.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.0.0.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.0.0.bb
index e1a7033a20..76fd6b65b1 100644
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.0.0.bb
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.0.0.bb
@@ -31,6 +31,7 @@ S = "${WORKDIR}/git"
# libsdbus-c++.so.1.1.0: undefined reference to `__atomic_load_8'
LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
LDFLAGS:append:powerpc = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
do_install:append() {
if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 17/20] sdbus-c++-libsystemd: Fix patch fuzz
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (15 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 16/20] sdbus-c++: Link with libatomic for rv32 Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 18/20] python3-speedtest-cli: fix RDEPENDS Armin Kuster
` (2 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 397f4f054fd3600f7305055c724607973f5f5511)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
.../0005-src-basic-missing.h-check-for-missing-strndupa.patch | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
index 36545c2f60..005ef022fd 100644
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -322,8 +322,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
--- a/src/libsystemd/sd-bus/bus-objects.c
+++ b/src/libsystemd/sd-bus/bus-objects.c
-@@ -12,6 +12,7 @@
- #include "set.h"
+@@ -11,6 +11,7 @@
+ #include "missing_capability.h"
#include "string-util.h"
#include "strv.h"
+#include "missing_stdlib.h"
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 18/20] python3-speedtest-cli: fix RDEPENDS
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (16 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 17/20] sdbus-c++-libsystemd: Fix patch fuzz Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 19/20] devmem2: the source and patches moved to github repo Armin Kuster
2022-06-03 19:17 ` [kirkstone 20/20] python3-matplotlib: add missing dependency Armin Kuster
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Bartosz Golaszewski <brgl@bgdev.pl>
There are packages missing in RDEPENDS needed to run speedtest-cli. Add
them and use += for the assignment as we don't know what inherited
classes may have added.
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 3413265185dd199da0f54ef6d83abca2c8ec9b50)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
.../recipes-devtools/python/python3-speedtest-cli_2.1.3.bb | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/meta-python/recipes-devtools/python/python3-speedtest-cli_2.1.3.bb b/meta-python/recipes-devtools/python/python3-speedtest-cli_2.1.3.bb
index 06d98cbe1e..472113b059 100644
--- a/meta-python/recipes-devtools/python/python3-speedtest-cli_2.1.3.bb
+++ b/meta-python/recipes-devtools/python/python3-speedtest-cli_2.1.3.bb
@@ -7,4 +7,8 @@ SRC_URI[sha256sum] = "5e2773233cedb5fa3d8120eb7f97bcc4974b5221b254d33ff16e2f1d41
inherit pypi setuptools3
-RDEPENDS:${PN} = "${PYTHON_PN}-misc"
+RDEPENDS:${PN} += " \
+ python3-misc \
+ python3-threading \
+ python3-xml \
+"
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 19/20] devmem2: the source and patches moved to github repo
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (17 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 18/20] python3-speedtest-cli: fix RDEPENDS Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
2022-06-03 19:17 ` [kirkstone 20/20] python3-matplotlib: add missing dependency Armin Kuster
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Denys Dmytriyenko <denis@denix.org>
To cleanup metadata and improve source code management, github repo was
created here with all patches integrated:
https://github.com/denix0/devmem2
Update recipe accordingly, bump the version while at it to distinguish
from the original.
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 356b488fb06bcacb0aa553518442b2d9574f16af)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
...word-is-32-bit-and-add-support-for-6.patch | 70 --------------
...ort-different-page-sizes-at-run-time.patch | 35 -------
.../devmem2/devmem2/devmem2-fixups-2.patch | 91 -------------------
.../devmem2/{devmem2.bb => devmem2_2.0.bb} | 17 +---
4 files changed, 3 insertions(+), 210 deletions(-)
delete mode 100644 meta-oe/recipes-support/devmem2/devmem2/0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch
delete mode 100644 meta-oe/recipes-support/devmem2/devmem2/0001-devmem2-support-different-page-sizes-at-run-time.patch
delete mode 100644 meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch
rename meta-oe/recipes-support/devmem2/{devmem2.bb => devmem2_2.0.bb} (40%)
diff --git a/meta-oe/recipes-support/devmem2/devmem2/0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch b/meta-oe/recipes-support/devmem2/devmem2/0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch
deleted file mode 100644
index 2a57f29891..0000000000
--- a/meta-oe/recipes-support/devmem2/devmem2/0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 1360a907879dd24041797a3b709d49aeac2ab444 Mon Sep 17 00:00:00 2001
-From: Denys Dmytriyenko <denys@ti.com>
-Date: Tue, 29 May 2018 16:55:42 -0400
-Subject: [PATCH] devmem.c: ensure word is 32-bit and add support for 64-bit
- long
-
-Signed-off-by: Denys Dmytriyenko <denys@ti.com>
----
- devmem2.c | 23 +++++++++++++++++------
- 1 file changed, 17 insertions(+), 6 deletions(-)
-
-diff --git a/devmem2.c b/devmem2.c
-index 5845381..68131b2 100644
---- a/devmem2.c
-+++ b/devmem2.c
-@@ -39,6 +39,7 @@
-
- #include <stdio.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include <unistd.h>
- #include <string.h>
- #include <errno.h>
-@@ -69,7 +70,7 @@ int main(int argc, char **argv) {
- if(argc < 2) {
- fprintf(stderr, "\nUsage:\t%s { address } [ type [ data ] ]\n"
- "\taddress : memory address to act upon\n"
-- "\ttype : access operation type : [b]yte, [h]alfword, [w]ord\n"
-+ "\ttype : access operation type : [b]yte, [h]alfword, [w]ord, [l]ong\n"
- "\tdata : data to be written\n\n",
- argv[0]);
- exit(1);
-@@ -103,9 +104,14 @@ int main(int argc, char **argv) {
- read_result = *((unsigned short *) virt_addr);
- break;
- case 'w':
-- data_size = sizeof(unsigned long);
-+ data_size = sizeof(uint32_t);
- virt_addr = fixup_addr(virt_addr, data_size);
-- read_result = *((unsigned long *) virt_addr);
-+ read_result = *((uint32_t *) virt_addr);
-+ break;
-+ case 'l':
-+ data_size = sizeof(uint64_t);
-+ virt_addr = fixup_addr(virt_addr, data_size);
-+ read_result = *((uint64_t *) virt_addr);
- break;
- default:
- fprintf(stderr, "Illegal data type '%c'.\n", access_type);
-@@ -129,9 +135,14 @@ int main(int argc, char **argv) {
- read_result = *((unsigned short *) virt_addr);
- break;
- case 'w':
-- virt_addr = fixup_addr(virt_addr, sizeof(unsigned long));
-- *((unsigned long *) virt_addr) = write_val;
-- read_result = *((unsigned long *) virt_addr);
-+ virt_addr = fixup_addr(virt_addr, sizeof(uint32_t));
-+ *((uint32_t *) virt_addr) = write_val;
-+ read_result = *((uint32_t *) virt_addr);
-+ break;
-+ case 'l':
-+ virt_addr = fixup_addr(virt_addr, sizeof(uint64_t));
-+ *((uint64_t *) virt_addr) = write_val;
-+ read_result = *((uint64_t *) virt_addr);
- break;
- }
- sprintf(fmt_str, "Write at address 0x%%08lX (%%p): 0x%%0%dlX, "
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/devmem2/devmem2/0001-devmem2-support-different-page-sizes-at-run-time.patch b/meta-oe/recipes-support/devmem2/devmem2/0001-devmem2-support-different-page-sizes-at-run-time.patch
deleted file mode 100644
index 0da0732c57..0000000000
--- a/meta-oe/recipes-support/devmem2/devmem2/0001-devmem2-support-different-page-sizes-at-run-time.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 0f6af48b2fbc71ec8abe862d3e9eb6da7b03538b Mon Sep 17 00:00:00 2001
-From: Denys Dmytriyenko <denys@ti.com>
-Date: Wed, 8 Aug 2018 14:38:00 -0400
-Subject: [PATCH] devmem2: support different page sizes at run-time
-
-Signed-off-by: Denys Dmytriyenko <denys@ti.com>
----
- devmem2.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/devmem2.c b/devmem2.c
-index 68131b2..76af2d6 100644
---- a/devmem2.c
-+++ b/devmem2.c
-@@ -53,8 +53,6 @@
- #define FATAL do { fprintf(stderr, "Error at line %d, file %s (%d) [%s]\n", \
- __LINE__, __FILE__, errno, strerror(errno)); exit(1); } while(0)
-
--#define MAP_SIZE 4096UL
--#define MAP_MASK (MAP_SIZE - 1)
-
- static inline void *fixup_addr(void *addr, size_t size);
-
-@@ -66,6 +64,8 @@ int main(int argc, char **argv) {
- int access_type = 'w';
- char fmt_str[128];
- size_t data_size;
-+ unsigned long MAP_SIZE = sysconf(_SC_PAGE_SIZE);
-+ unsigned long MAP_MASK = (MAP_SIZE - 1);
-
- if(argc < 2) {
- fprintf(stderr, "\nUsage:\t%s { address } [ type [ data ] ]\n"
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch b/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch
deleted file mode 100644
index 4517797fc7..0000000000
--- a/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch
+++ /dev/null
@@ -1,91 +0,0 @@
---- devmem2.c 2004-08-05 01:55:25.000000000 +0200
-+++ devmem2_modif.c 2011-01-13 15:48:37.798799784 +0100
-@@ -45,12 +45,16 @@
- #define MAP_SIZE 4096UL
- #define MAP_MASK (MAP_SIZE - 1)
-
-+static inline void *fixup_addr(void *addr, size_t size);
-+
- int main(int argc, char **argv) {
- int fd;
- void *map_base, *virt_addr;
-- unsigned long read_result, writeval;
-+ unsigned long read_result, write_val;
- off_t target;
- int access_type = 'w';
-+ char fmt_str[128];
-+ size_t data_size;
-
- if(argc < 2) {
- fprintf(stderr, "\nUsage:\t%s { address } [ type [ data ] ]\n"
-@@ -79,38 +83,51 @@
- virt_addr = map_base + (target & MAP_MASK);
- switch(access_type) {
- case 'b':
-+ data_size = sizeof(unsigned char);
-+ virt_addr = fixup_addr(virt_addr, data_size);
- read_result = *((unsigned char *) virt_addr);
- break;
- case 'h':
-+ data_size = sizeof(unsigned short);
-+ virt_addr = fixup_addr(virt_addr, data_size);
- read_result = *((unsigned short *) virt_addr);
- break;
- case 'w':
-+ data_size = sizeof(unsigned long);
-+ virt_addr = fixup_addr(virt_addr, data_size);
- read_result = *((unsigned long *) virt_addr);
- break;
- default:
- fprintf(stderr, "Illegal data type '%c'.\n", access_type);
- exit(2);
- }
-- printf("Value at address 0x%X (%p): 0x%X\n", target, virt_addr, read_result);
-+ sprintf(fmt_str, "Read at address 0x%%08lX (%%p): 0x%%0%dlX\n", 2*data_size);
-+ printf(fmt_str, (unsigned long)target, virt_addr, read_result);
- fflush(stdout);
-
- if(argc > 3) {
-- writeval = strtoul(argv[3], 0, 0);
-+ write_val = strtoul(argv[3], 0, 0);
- switch(access_type) {
- case 'b':
-- *((unsigned char *) virt_addr) = writeval;
-+ virt_addr = fixup_addr(virt_addr, sizeof(unsigned char));
-+ *((unsigned char *) virt_addr) = write_val;
- read_result = *((unsigned char *) virt_addr);
- break;
- case 'h':
-- *((unsigned short *) virt_addr) = writeval;
-+ virt_addr = fixup_addr(virt_addr, sizeof(unsigned short));
-+ *((unsigned short *) virt_addr) = write_val;
- read_result = *((unsigned short *) virt_addr);
- break;
- case 'w':
-- *((unsigned long *) virt_addr) = writeval;
-+ virt_addr = fixup_addr(virt_addr, sizeof(unsigned long));
-+ *((unsigned long *) virt_addr) = write_val;
- read_result = *((unsigned long *) virt_addr);
- break;
- }
-- printf("Written 0x%X; readback 0x%X\n", writeval, read_result);
-+ sprintf(fmt_str, "Write at address 0x%%08lX (%%p): 0x%%0%dlX, "
-+ "readback 0x%%0%dlX\n", 2*data_size, 2*data_size);
-+ printf(fmt_str, (unsigned long)target, virt_addr,
-+ write_val, read_result);
- fflush(stdout);
- }
-
-@@ -119,3 +136,12 @@
- return 0;
- }
-
-+static inline void *fixup_addr(void *addr, size_t size)
-+{
-+#ifdef FORCE_STRICT_ALIGNMENT
-+ unsigned long aligned_addr = (unsigned long)addr;
-+ aligned_addr &= ~(size - 1);
-+ addr = (void *)aligned_addr;
-+#endif
-+ return addr;
-+}
diff --git a/meta-oe/recipes-support/devmem2/devmem2.bb b/meta-oe/recipes-support/devmem2/devmem2_2.0.bb
similarity index 40%
rename from meta-oe/recipes-support/devmem2/devmem2.bb
rename to meta-oe/recipes-support/devmem2/devmem2_2.0.bb
index 70d4135216..aee6bfe3da 100644
--- a/meta-oe/recipes-support/devmem2/devmem2.bb
+++ b/meta-oe/recipes-support/devmem2/devmem2_2.0.bb
@@ -1,22 +1,14 @@
SUMMARY = "Simple program to read/write from/to any location in memory"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://devmem2.c;endline=38;md5=a9eb9f3890384519f435aedf986297cf"
-PR = "r7"
-SRC_URI = "https://bootlin.com/pub/mirror/devmem2.c;downloadfilename=devmem2-new.c \
- file://devmem2-fixups-2.patch;apply=yes;striplevel=0 \
- file://0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch \
- file://0001-devmem2-support-different-page-sizes-at-run-time.patch \
-"
+SRC_URI = "git://github.com/denix0/devmem2.git;protocol=https;branch=main"
+SRCREV = "5b395a946894eb4f4ef5d07c80a50a88573a541e"
-S = "${WORKDIR}"
+S = "${WORKDIR}/git"
CFLAGS += "-DFORCE_STRICT_ALIGNMENT"
-python do_unpack:append() {
- os.rename("devmem2-new.c", "devmem2.c")
-}
-
do_compile() {
${CC} -o devmem2 devmem2.c ${CFLAGS} ${LDFLAGS}
}
@@ -25,6 +17,3 @@ do_install() {
install -d ${D}${bindir}
install devmem2 ${D}${bindir}
}
-
-SRC_URI[md5sum] = "e23f236e94be4c429aa1ceac0f01544b"
-SRC_URI[sha256sum] = "3b15515693bae1ebd14d914e46d388edfec2175829ea1576a7a0c8606ebbe639"
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread* [kirkstone 20/20] python3-matplotlib: add missing dependency
2022-06-03 19:16 [kirkstone 00/20] Patch review: June 3rd Armin Kuster
` (18 preceding siblings ...)
2022-06-03 19:17 ` [kirkstone 19/20] devmem2: the source and patches moved to github repo Armin Kuster
@ 2022-06-03 19:17 ` Armin Kuster
19 siblings, 0 replies; 21+ messages in thread
From: Armin Kuster @ 2022-06-03 19:17 UTC (permalink / raw)
To: openembedded-devel
From: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
In order to fix the dependency issue on PIL module, python3-pillow is required.
Signed-off-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit d4e70a19600bee178d81b467dd9e118cbf057f65)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
meta-python/recipes-devtools/python/python3-matplotlib_3.5.1.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-python/recipes-devtools/python/python3-matplotlib_3.5.1.bb b/meta-python/recipes-devtools/python/python3-matplotlib_3.5.1.bb
index b9eab3c931..cd05b455d4 100644
--- a/meta-python/recipes-devtools/python/python3-matplotlib_3.5.1.bb
+++ b/meta-python/recipes-devtools/python/python3-matplotlib_3.5.1.bb
@@ -50,6 +50,7 @@ RDEPENDS:${PN} = "\
${PYTHON_PN}-dateutil \
${PYTHON_PN}-kiwisolver \
${PYTHON_PN}-pytz \
+ ${PYTHON_PN}-pillow \
"
ENABLELTO:toolchain-clang:riscv64 = "echo enable_lto = False >> ${S}/mplsetup.cfg"
--
2.25.1
^ permalink raw reply related [flat|nested] 21+ messages in thread