* [PATCH 1/2] python3-h5py: backport a cython 3.x compatibility patch
@ 2024-01-05 13:36 Alexander Kanavin
2024-01-05 13:36 ` [PATCH 2/2] python3-kivy: update 2.2.1 -> 2.3.0 Alexander Kanavin
0 siblings, 1 reply; 8+ messages in thread
From: Alexander Kanavin @ 2024-01-05 13:36 UTC (permalink / raw)
To: openembedded-devel; +Cc: Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
.../0001-Fix-Cython-3-compatibility.patch | 796 ++++++++++++++++++
.../python/python3-h5py_3.10.0.bb | 3 +-
2 files changed, 798 insertions(+), 1 deletion(-)
create mode 100644 meta-python/recipes-devtools/python/python3-h5py/0001-Fix-Cython-3-compatibility.patch
diff --git a/meta-python/recipes-devtools/python/python3-h5py/0001-Fix-Cython-3-compatibility.patch b/meta-python/recipes-devtools/python/python3-h5py/0001-Fix-Cython-3-compatibility.patch
new file mode 100644
index 000000000..aba62ddf1
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-h5py/0001-Fix-Cython-3-compatibility.patch
@@ -0,0 +1,796 @@
+From 1e02dbe5533d679b9ef064078a303607a7d0542a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Fri, 29 Dec 2023 14:33:38 +0100
+Subject: [PATCH] Fix Cython 3 compatibility
+
+Upstream-Status: Backport [https://github.com/h5py/h5py/pull/2345/commits]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ benchmarks/benchmark_slicing.py | 12 ++++----
+ docs/conf.py | 2 +-
+ docs/high/dataset.rst | 4 +--
+ docs/high/file.rst | 6 ++--
+ docs/requirements-rtd.txt | 5 ++--
+ docs/vds.rst | 2 +-
+ docs/whatsnew/3.0.rst | 2 +-
+ docs/whatsnew/3.7.rst | 4 +--
+ h5py/_errors.pxd | 10 +++----
+ h5py/_errors.pyx | 4 +--
+ h5py/_hl/base.py | 4 +--
+ h5py/_hl/dataset.py | 8 ++---
+ h5py/_hl/dims.py | 3 +-
+ h5py/_hl/files.py | 2 +-
+ h5py/_locks.pxi | 6 ++--
+ h5py/_proxy.pyx | 4 +--
+ h5py/_selector.pyx | 2 +-
+ h5py/api_compat.h | 13 ++++----
+ h5py/api_types_hdf5.pxd | 48 +++++++++++++++---------------
+ h5py/h5fd.pyx | 38 ++++++++++++++++-------
+ h5py/h5p.pyx | 4 +--
+ h5py/h5t.pyx | 2 +-
+ h5py/tests/test_attrs_data.py | 2 +-
+ h5py/tests/test_big_endian_file.py | 4 +--
+ h5py/tests/test_dataset.py | 4 +--
+ h5py/tests/test_file.py | 6 ++--
+ h5py/tests/test_file_alignment.py | 4 +--
+ h5py/tests/test_group.py | 4 +--
+ h5py/tests/test_selections.py | 2 +-
+ pylintrc | 2 +-
+ pyproject.toml | 2 +-
+ setup_configure.py | 2 +-
+ tox.ini | 2 +-
+ 33 files changed, 116 insertions(+), 103 deletions(-)
+
+diff --git a/benchmarks/benchmark_slicing.py b/benchmarks/benchmark_slicing.py
+index e9a34dad..b833f012 100644
+--- a/benchmarks/benchmark_slicing.py
++++ b/benchmarks/benchmark_slicing.py
+@@ -7,7 +7,7 @@ import logging
+ logger = logging.getLogger(__name__)
+ import h5py
+
+-#Needed for mutithreading:
++#Needed for multithreading:
+ from queue import Queue
+ from threading import Thread, Event
+ import multiprocessing
+@@ -173,8 +173,8 @@ class SlicingBenchmark:
+
+ if __name__ == "__main__":
+ logging.basicConfig(level=logging.INFO)
+- benckmark = SlicingBenchmark()
+- benckmark.setup()
+- benckmark.time_sequential_reads()
+- benckmark.time_threaded_reads()
+- benckmark.teardown()
++ benchmark = SlicingBenchmark()
++ benchmark.setup()
++ benchmark.time_sequential_reads()
++ benchmark.time_threaded_reads()
++ benchmark.teardown()
+diff --git a/docs/conf.py b/docs/conf.py
+index 93b23939..a0f6c1ac 100644
+--- a/docs/conf.py
++++ b/docs/conf.py
+@@ -109,7 +109,7 @@ pygments_style = 'sphinx'
+
+ # The theme to use for HTML and HTML Help pages. See the documentation for
+ # a list of builtin themes.
+-html_theme = 'default'
++html_theme = 'sphinx_rtd_theme'
+
+ # Theme options are theme-specific and customize the look and feel of a theme
+ # further. For a list of options available for each theme, see the
+diff --git a/docs/high/dataset.rst b/docs/high/dataset.rst
+index 0f27284f..cb75fffe 100644
+--- a/docs/high/dataset.rst
++++ b/docs/high/dataset.rst
+@@ -58,7 +58,7 @@ the requested ``dtype``.
+ Reading & writing data
+ ----------------------
+
+-HDF5 datasets re-use the NumPy slicing syntax to read and write to the file.
++HDF5 datasets reuse the NumPy slicing syntax to read and write to the file.
+ Slice specifications are translated directly to HDF5 "hyperslab"
+ selections, and are a fast and efficient way to access data in the file. The
+ following slicing arguments are recognized:
+@@ -464,7 +464,7 @@ Reference
+ >>> dset = f["MyDS"]
+ >>> f.close()
+ >>> if dset:
+- ... print("datset accessible")
++ ... print("dataset accessible")
+ ... else:
+ ... print("dataset inaccessible")
+ dataset inaccessible
+diff --git a/docs/high/file.rst b/docs/high/file.rst
+index 484498ce..e757fe1a 100644
+--- a/docs/high/file.rst
++++ b/docs/high/file.rst
+@@ -392,7 +392,7 @@ Data alignment
+ When creating datasets within files, it may be advantageous to align the offset
+ within the file itself. This can help optimize read and write times if the data
+ become aligned with the underlying hardware, or may help with parallelism with
+-MPI. Unfortunately, aligning small variables to large blocks can leave alot of
++MPI. Unfortunately, aligning small variables to large blocks can leave a lot of
+ empty space in a file. To this effect, application developers are left with two
+ options to tune the alignment of data within their file. The two variables
+ ``alignment_threshold`` and ``alignment_interval`` in the :class:`File`
+@@ -415,7 +415,7 @@ number of regions. Setting a small value can reduce the overall file size,
+ especially in combination with the ``libver`` option. This controls how the
+ overall data and metadata are laid out within the file.
+
+-For more information, see the offical HDF5 documentation `H5P_SET_META_BLOCK_SIZE
++For more information, see the official HDF5 documentation `H5P_SET_META_BLOCK_SIZE
+ <https://portal.hdfgroup.org/display/HDF5/H5P_SET_META_BLOCK_SIZE>`_.
+
+ Reference
+@@ -497,7 +497,7 @@ Reference
+ Only available with HDF5 >= 1.12.1 or 1.10.x >= 1.10.7.
+ :param alignment_threshold: Together with ``alignment_interval``, this
+ property ensures that any file object greater than or equal
+- in size to the alignement threshold (in bytes) will be
++ in size to the alignment threshold (in bytes) will be
+ aligned on an address which is a multiple of alignment interval.
+ :param alignment_interval: This property should be used in conjunction with
+ ``alignment_threshold``. See the description above. For more
+diff --git a/docs/requirements-rtd.txt b/docs/requirements-rtd.txt
+index e67a3eee..52096927 100644
+--- a/docs/requirements-rtd.txt
++++ b/docs/requirements-rtd.txt
+@@ -1,3 +1,2 @@
+-sphinx==4.3.0
+-sphinx_rtd_theme==1.0.0
+-readthedocs-sphinx-search==0.1.1
++sphinx==7.2.6
++sphinx_rtd_theme==1.3.0
+diff --git a/docs/vds.rst b/docs/vds.rst
+index a9a7c7f6..bd47ad1c 100644
+--- a/docs/vds.rst
++++ b/docs/vds.rst
+@@ -124,7 +124,7 @@ Reference
+ slice it to indicate which regions should be used in the virtual dataset.
+
+ When `creating a virtual dataset <creating_vds_>`_, paths to sources present
+- in the same file are changed to a ".", refering to the current file (see
++ in the same file are changed to a ".", referring to the current file (see
+ `H5Pset_virtual <https://portal.hdfgroup.org/display/HDF5/H5P_SET_VIRTUAL>`_).
+ This will keep such sources valid in case the file is renamed.
+
+diff --git a/docs/whatsnew/3.0.rst b/docs/whatsnew/3.0.rst
+index db30ad66..ff3c2bef 100644
+--- a/docs/whatsnew/3.0.rst
++++ b/docs/whatsnew/3.0.rst
+@@ -44,7 +44,7 @@ New features
+ See also the deprecation related to the ``external`` argument.
+ * Support for setting file space strategy at file creation. Includes option to
+ persist empty space tracking between sessions. See :class:`.File` for details.
+-* More efficient writing when assiging a scalar to a chunked dataset, when the
++* More efficient writing when assigning a scalar to a chunked dataset, when the
+ number of elements to write is no more than the size of one chunk.
+ * Introduced support for the split :ref:`file driver <file_driver>`
+ (:pr:`1468`).
+diff --git a/docs/whatsnew/3.7.rst b/docs/whatsnew/3.7.rst
+index 27790254..2e822d68 100644
+--- a/docs/whatsnew/3.7.rst
++++ b/docs/whatsnew/3.7.rst
+@@ -19,7 +19,7 @@ New features
+ include it. Alternatively, you can :ref:`build h5py from source <source_install>`
+ against an HDF5 build with the direct driver enabled.
+ * The :class:`.File` constructor contains two new parameters ``alignment_threshold``,
+- and ``alignment_interval`` controling the data alignment within the HDF5
++ and ``alignment_interval`` controlling the data alignment within the HDF5
+ file (:pr:`2040`).
+ * :meth:`~.Group.create_dataset` and :meth:`~.Group.require_dataset` now accept
+ parameters ``efile_prefix`` and ``virtual_prefix`` to set a filesystem path
+@@ -40,7 +40,7 @@ Bug fixes
+ attributes with ``track_order=True``.
+ * Fix for building with mpi4py on Python 3.10 (:pr:`2101`).
+ * Fixed fancy indexing with a boolean array for a single dimension (:pr:`2079`).
+-* Avoid returning unitialised memory when reading from a chunked dataset with
++* Avoid returning uninitialised memory when reading from a chunked dataset with
+ missing chunks and no fill value (:pr:`2076`).
+ * Enable setting of fillvalue for datasets with variable length string dtype
+ (:pr:`2044`).
+diff --git a/h5py/_errors.pxd b/h5py/_errors.pxd
+index df9c1bbe..3cba6307 100644
+--- a/h5py/_errors.pxd
++++ b/h5py/_errors.pxd
+@@ -23,7 +23,7 @@ cdef extern from "hdf5.h":
+ H5E_ARGS, # invalid arguments to routine
+ H5E_RESOURCE, # resource unavailable
+ H5E_INTERNAL, # Internal error (too specific to document)
+- H5E_FILE, # file Accessability
++ H5E_FILE, # file Accessibility
+ H5E_IO, # Low-level I/O
+ H5E_FUNC, # function Entry/Exit
+ H5E_ATOM, # object Atom
+@@ -121,7 +121,7 @@ cdef extern from "hdf5.h":
+ # No error
+ H5E_NONE_MINOR # No error
+
+- # File accessability errors
++ # File accessibility errors
+ H5E_FILEEXISTS # File already exists
+ H5E_FILEOPEN # File already open
+ H5E_CANTCREATE # Unable to create file
+@@ -207,7 +207,7 @@ cdef extern from "hdf5.h":
+ H5E_ARGS, # invalid arguments to routine
+ H5E_RESOURCE, # resource unavailable
+ H5E_INTERNAL, # Internal error (too specific to document)
+- H5E_FILE, # file Accessability
++ H5E_FILE, # file Accessibility
+ H5E_IO, # Low-level I/O
+ H5E_FUNC, # function Entry/Exit
+ H5E_ID, # object ID
+@@ -305,7 +305,7 @@ cdef extern from "hdf5.h":
+ # No error
+ H5E_NONE_MINOR # No error
+
+- # File accessability errors
++ # File accessibility errors
+ H5E_FILEEXISTS # File already exists
+ H5E_FILEOPEN # File already open
+ H5E_CANTCREATE # Unable to create file
+@@ -425,4 +425,4 @@ ctypedef struct err_cookie:
+ cdef err_cookie set_error_handler(err_cookie handler)
+
+ # Set the default error handler set by silence_errors/unsilence_errors
+-cdef void set_default_error_handler() nogil
++cdef void set_default_error_handler() noexcept nogil
+diff --git a/h5py/_errors.pyx b/h5py/_errors.pyx
+index c3bd184e..2a7524b2 100644
+--- a/h5py/_errors.pyx
++++ b/h5py/_errors.pyx
+@@ -94,7 +94,7 @@ cdef struct err_data_t:
+ H5E_error_t err
+ int n
+
+-cdef herr_t walk_cb(unsigned int n, const H5E_error_t *desc, void *e) nogil noexcept:
++cdef herr_t walk_cb(unsigned int n, const H5E_error_t *desc, void *e) noexcept nogil:
+
+ cdef err_data_t *ee = <err_data_t*>e
+
+@@ -168,7 +168,7 @@ cdef err_cookie _error_handler # Store error handler used by h5py
+ _error_handler.func = NULL
+ _error_handler.data = NULL
+
+-cdef void set_default_error_handler() nogil:
++cdef void set_default_error_handler() noexcept nogil:
+ """Set h5py's current default error handler"""
+ H5Eset_auto(<hid_t>H5E_DEFAULT, _error_handler.func, _error_handler.data)
+
+diff --git a/h5py/_hl/base.py b/h5py/_hl/base.py
+index cad37053..9d261c90 100644
+--- a/h5py/_hl/base.py
++++ b/h5py/_hl/base.py
+@@ -20,7 +20,7 @@ import posixpath
+ import numpy as np
+
+ # The high-level interface is serialized; every public API function & method
+-# is wrapped in a lock. We re-use the low-level lock because (1) it's fast,
++# is wrapped in a lock. We reuse the low-level lock because (1) it's fast,
+ # and (2) it eliminates the possibility of deadlocks due to out-of-order
+ # lock acquisition.
+ from .._objects import phil, with_phil
+@@ -524,7 +524,7 @@ def product(nums):
+ # Daniel Greenfeld, BSD license), where it is attributed to bottle (Copyright
+ # (c) 2009-2022, Marcel Hellkamp, MIT license).
+
+-class cached_property(object):
++class cached_property:
+ def __init__(self, func):
+ self.__doc__ = getattr(func, "__doc__")
+ self.func = func
+diff --git a/h5py/_hl/dataset.py b/h5py/_hl/dataset.py
+index b69aba48..77b202d2 100644
+--- a/h5py/_hl/dataset.py
++++ b/h5py/_hl/dataset.py
+@@ -334,10 +334,10 @@ class ChunkIterator:
+ self._layout = dset.chunks
+ if source_sel is None:
+ # select over entire dataset
+- slices = []
+- for dim in range(rank):
+- slices.append(slice(0, self._shape[dim]))
+- self._sel = tuple(slices)
++ self._sel = tuple(
++ slice(0, self._shape[dim])
++ for dim in range(rank)
++ )
+ else:
+ if isinstance(source_sel, slice):
+ self._sel = (source_sel,)
+diff --git a/h5py/_hl/dims.py b/h5py/_hl/dims.py
+index d3c9206b..0cf4c9f3 100644
+--- a/h5py/_hl/dims.py
++++ b/h5py/_hl/dims.py
+@@ -53,8 +53,7 @@ class DimensionProxy(base.CommonStateObject):
+
+ @with_phil
+ def __iter__(self):
+- for k in self.keys():
+- yield k
++ yield from self.keys()
+
+ @with_phil
+ def __len__(self):
+diff --git a/h5py/_hl/files.py b/h5py/_hl/files.py
+index aa4fb78d..bfcf3098 100644
+--- a/h5py/_hl/files.py
++++ b/h5py/_hl/files.py
+@@ -480,7 +480,7 @@ class File(Group):
+
+ alignment_threshold
+ Together with ``alignment_interval``, this property ensures that
+- any file object greater than or equal in size to the alignement
++ any file object greater than or equal in size to the alignment
+ threshold (in bytes) will be aligned on an address which is a
+ multiple of alignment interval.
+
+diff --git a/h5py/_locks.pxi b/h5py/_locks.pxi
+index bc8b2dd9..1ec4e2fc 100644
+--- a/h5py/_locks.pxi
++++ b/h5py/_locks.pxi
+@@ -63,7 +63,7 @@ cdef class FastRLock:
+ return self._owner == pythread.PyThread_get_thread_ident()
+
+
+-cdef inline bint lock_lock(FastRLock lock, long current_thread, bint blocking) nogil:
++cdef inline bint lock_lock(FastRLock lock, long current_thread, bint blocking) noexcept nogil:
+ # Note that this function *must* hold the GIL when being called.
+ # We just use 'nogil' in the signature to make sure that no Python
+ # code execution slips in that might free the GIL
+@@ -83,7 +83,7 @@ cdef inline bint lock_lock(FastRLock lock, long current_thread, bint blocking) n
+ lock, current_thread,
+ pythread.WAIT_LOCK if blocking else pythread.NOWAIT_LOCK)
+
+-cdef bint _acquire_lock(FastRLock lock, long current_thread, int wait) nogil:
++cdef bint _acquire_lock(FastRLock lock, long current_thread, int wait) noexcept nogil:
+ # Note that this function *must* hold the GIL when being called.
+ # We just use 'nogil' in the signature to make sure that no Python
+ # code execution slips in that might free the GIL
+@@ -111,7 +111,7 @@ cdef bint _acquire_lock(FastRLock lock, long current_thread, int wait) nogil:
+ lock._count = 1
+ return 1
+
+-cdef inline void unlock_lock(FastRLock lock) nogil:
++cdef inline void unlock_lock(FastRLock lock) noexcept nogil:
+ # Note that this function *must* hold the GIL when being called.
+ # We just use 'nogil' in the signature to make sure that no Python
+ # code execution slips in that might free the GIL
+diff --git a/h5py/_proxy.pyx b/h5py/_proxy.pyx
+index 46b4fe0d..e40504f5 100644
+--- a/h5py/_proxy.pyx
++++ b/h5py/_proxy.pyx
+@@ -241,7 +241,7 @@ ctypedef struct h5py_scatter_t:
+ void* buf
+
+ cdef herr_t h5py_scatter_cb(void* elem, hid_t type_id, unsigned ndim,
+- const hsize_t *point, void *operator_data) nogil except -1:
++ const hsize_t *point, void *operator_data) except -1 nogil:
+ cdef h5py_scatter_t* info = <h5py_scatter_t*>operator_data
+
+ memcpy(elem, (<char*>info[0].buf)+((info[0].i)*(info[0].elsize)),
+@@ -252,7 +252,7 @@ cdef herr_t h5py_scatter_cb(void* elem, hid_t type_id, unsigned ndim,
+ return 0
+
+ cdef herr_t h5py_gather_cb(void* elem, hid_t type_id, unsigned ndim,
+- const hsize_t *point, void *operator_data) nogil except -1:
++ const hsize_t *point, void *operator_data) except -1 nogil:
+ cdef h5py_scatter_t* info = <h5py_scatter_t*>operator_data
+
+ memcpy((<char*>info[0].buf)+((info[0].i)*(info[0].elsize)), elem,
+diff --git a/h5py/_selector.pyx b/h5py/_selector.pyx
+index 8b858c82..69970176 100644
+--- a/h5py/_selector.pyx
++++ b/h5py/_selector.pyx
+@@ -341,7 +341,7 @@ cdef class Reader:
+
+ arr = PyArray_ZEROS(arr_rank, arr_shape, self.np_typenum, 0)
+ if not self.native_byteorder:
+- arr = arr.newbyteorder()
++ arr = arr.view(arr.dtype.newbyteorder())
+ finally:
+ efree(arr_shape)
+
+diff --git a/h5py/api_compat.h b/h5py/api_compat.h
+index 52917f4d..a359e827 100644
+--- a/h5py/api_compat.h
++++ b/h5py/api_compat.h
+@@ -24,7 +24,6 @@ typedef void *PyMPI_MPI_Message;
+ #include <stddef.h>
+ #include "Python.h"
+ #include "numpy/arrayobject.h"
+-#include "hdf5.h"
+
+ /* The HOFFSET macro can't be used from Cython. */
+
+@@ -35,14 +34,14 @@ typedef void *PyMPI_MPI_Message;
+ #define h5py_size_n256 (sizeof(npy_complex256))
+ #endif
+
+-#define h5py_offset_n64_real (HOFFSET(npy_complex64, real))
+-#define h5py_offset_n64_imag (HOFFSET(npy_complex64, imag))
+-#define h5py_offset_n128_real (HOFFSET(npy_complex128, real))
+-#define h5py_offset_n128_imag (HOFFSET(npy_complex128, imag))
++#define h5py_offset_n64_real (0)
++#define h5py_offset_n64_imag (sizeof(float))
++#define h5py_offset_n128_real (0)
++#define h5py_offset_n128_imag (sizeof(double))
+
+ #ifdef NPY_COMPLEX256
+-#define h5py_offset_n256_real (HOFFSET(npy_complex256, real))
+-#define h5py_offset_n256_imag (HOFFSET(npy_complex256, imag))
++#define h5py_offset_n256_real (0)
++#define h5py_offset_n256_imag (sizeof(long double))
+ #endif
+
+ #endif
+diff --git a/h5py/api_types_hdf5.pxd b/h5py/api_types_hdf5.pxd
+index a198f105..099e0f58 100644
+--- a/h5py/api_types_hdf5.pxd
++++ b/h5py/api_types_hdf5.pxd
+@@ -257,27 +257,27 @@ cdef extern from "hdf5.h":
+ herr_t (*sb_encode)(H5FD_t *file, char *name, unsigned char *p)
+ herr_t (*sb_decode)(H5FD_t *f, const char *name, const unsigned char *p)
+ size_t fapl_size
+- void * (*fapl_get)(H5FD_t *file)
+- void * (*fapl_copy)(const void *fapl)
+- herr_t (*fapl_free)(void *fapl)
++ void * (*fapl_get)(H5FD_t *file) except *
++ void * (*fapl_copy)(const void *fapl) except *
++ herr_t (*fapl_free)(void *fapl) except -1
+ size_t dxpl_size
+ void * (*dxpl_copy)(const void *dxpl)
+ herr_t (*dxpl_free)(void *dxpl)
+- H5FD_t *(*open)(const char *name, unsigned flags, hid_t fapl, haddr_t maxaddr)
+- herr_t (*close)(H5FD_t *file)
++ H5FD_t *(*open)(const char *name, unsigned flags, hid_t fapl, haddr_t maxaddr) except *
++ herr_t (*close)(H5FD_t *file) except -1
+ int (*cmp)(const H5FD_t *f1, const H5FD_t *f2)
+ herr_t (*query)(const H5FD_t *f1, unsigned long *flags)
+ herr_t (*get_type_map)(const H5FD_t *file, H5FD_mem_t *type_map)
+ haddr_t (*alloc)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size)
+ herr_t (*free)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, hsize_t size)
+- haddr_t (*get_eoa)(const H5FD_t *file, H5FD_mem_t type)
+- herr_t (*set_eoa)(H5FD_t *file, H5FD_mem_t type, haddr_t addr)
+- haddr_t (*get_eof)(const H5FD_t *file, H5FD_mem_t type)
++ haddr_t (*get_eoa)(const H5FD_t *file, H5FD_mem_t type) noexcept
++ herr_t (*set_eoa)(H5FD_t *file, H5FD_mem_t type, haddr_t addr) noexcept
++ haddr_t (*get_eof)(const H5FD_t *file, H5FD_mem_t type) except -1
+ herr_t (*get_handle)(H5FD_t *file, hid_t fapl, void**file_handle)
+- herr_t (*read)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, void *buffer)
+- herr_t (*write)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, const void *buffer)
+- herr_t (*flush)(H5FD_t *file, hid_t dxpl_id, hbool_t closing)
+- herr_t (*truncate)(H5FD_t *file, hid_t dxpl_id, hbool_t closing)
++ herr_t (*read)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, void *buffer) except *
++ herr_t (*write)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, const void *buffer) except *
++ herr_t (*flush)(H5FD_t *file, hid_t dxpl_id, hbool_t closing) except -1
++ herr_t (*truncate)(H5FD_t *file, hid_t dxpl_id, hbool_t closing) except -1
+ herr_t (*lock)(H5FD_t *file, hbool_t rw)
+ herr_t (*unlock)(H5FD_t *file)
+ H5FD_mem_t fl_map[<int>H5FD_MEM_NTYPES]
+@@ -295,27 +295,27 @@ cdef extern from "hdf5.h":
+ herr_t (*sb_encode)(H5FD_t *file, char *name, unsigned char *p)
+ herr_t (*sb_decode)(H5FD_t *f, const char *name, const unsigned char *p)
+ size_t fapl_size
+- void * (*fapl_get)(H5FD_t *file)
+- void * (*fapl_copy)(const void *fapl)
+- herr_t (*fapl_free)(void *fapl)
++ void * (*fapl_get)(H5FD_t *file) except *
++ void * (*fapl_copy)(const void *fapl) except *
++ herr_t (*fapl_free)(void *fapl) except -1
+ size_t dxpl_size
+ void * (*dxpl_copy)(const void *dxpl)
+ herr_t (*dxpl_free)(void *dxpl)
+- H5FD_t *(*open)(const char *name, unsigned flags, hid_t fapl, haddr_t maxaddr)
+- herr_t (*close)(H5FD_t *file)
++ H5FD_t *(*open)(const char *name, unsigned flags, hid_t fapl, haddr_t maxaddr) except *
++ herr_t (*close)(H5FD_t *file) except -1
+ int (*cmp)(const H5FD_t *f1, const H5FD_t *f2)
+ herr_t (*query)(const H5FD_t *f1, unsigned long *flags)
+ herr_t (*get_type_map)(const H5FD_t *file, H5FD_mem_t *type_map)
+ haddr_t (*alloc)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size)
+ herr_t (*free)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, hsize_t size)
+- haddr_t (*get_eoa)(const H5FD_t *file, H5FD_mem_t type)
+- herr_t (*set_eoa)(H5FD_t *file, H5FD_mem_t type, haddr_t addr)
+- haddr_t (*get_eof)(const H5FD_t *file, H5FD_mem_t type)
++ haddr_t (*get_eoa)(const H5FD_t *file, H5FD_mem_t type) noexcept
++ herr_t (*set_eoa)(H5FD_t *file, H5FD_mem_t type, haddr_t addr) noexcept
++ haddr_t (*get_eof)(const H5FD_t *file, H5FD_mem_t type) except -1
+ herr_t (*get_handle)(H5FD_t *file, hid_t fapl, void**file_handle)
+- herr_t (*read)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, void *buffer)
+- herr_t (*write)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, const void *buffer)
+- herr_t (*flush)(H5FD_t *file, hid_t dxpl_id, hbool_t closing)
+- herr_t (*truncate)(H5FD_t *file, hid_t dxpl_id, hbool_t closing)
++ herr_t (*read)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, void *buffer) except *
++ herr_t (*write)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, const void *buffer) except *
++ herr_t (*flush)(H5FD_t *file, hid_t dxpl_id, hbool_t closing) except -1
++ herr_t (*truncate)(H5FD_t *file, hid_t dxpl_id, hbool_t closing) except -1
+ herr_t (*lock)(H5FD_t *file, hbool_t rw)
+ herr_t (*unlock)(H5FD_t *file)
+ H5FD_mem_t fl_map[<int>H5FD_MEM_NTYPES]
+diff --git a/h5py/h5fd.pyx b/h5py/h5fd.pyx
+index e9746057..d39cf68f 100644
+--- a/h5py/h5fd.pyx
++++ b/h5py/h5fd.pyx
+@@ -144,10 +144,10 @@ cdef herr_t H5FD_fileobj_close(H5FD_fileobj_t *f) except -1 with gil:
+ stdlib_free(f)
+ return 0
+
+-cdef haddr_t H5FD_fileobj_get_eoa(const H5FD_fileobj_t *f, H5FD_mem_t type):
++cdef haddr_t H5FD_fileobj_get_eoa(const H5FD_fileobj_t *f, H5FD_mem_t type) noexcept nogil:
+ return f.eoa
+
+-cdef herr_t H5FD_fileobj_set_eoa(H5FD_fileobj_t *f, H5FD_mem_t type, haddr_t addr):
++cdef herr_t H5FD_fileobj_set_eoa(H5FD_fileobj_t *f, H5FD_mem_t type, haddr_t addr) noexcept nogil:
+ f.eoa = addr
+ return 0
+
+@@ -191,22 +191,38 @@ cdef herr_t H5FD_fileobj_flush(H5FD_fileobj_t *f, hid_t dxpl, hbool_t closing) e
+ cdef H5FD_class_t info
+ memset(&info, 0, sizeof(info))
+
++# Cython doesn't support "except X" in casting definition currently
++ctypedef herr_t (*file_free_func_ptr)(void *) except -1
++
++ctypedef herr_t (*file_close_func_ptr)(H5FD_t *) except -1
++ctypedef haddr_t (*file_get_eoa_func_ptr)(const H5FD_t *, H5FD_mem_t) noexcept
++ctypedef herr_t (*file_set_eof_func_ptr)(H5FD_t *, H5FD_mem_t, haddr_t) noexcept
++ctypedef haddr_t (*file_get_eof_func_ptr)(const H5FD_t *, H5FD_mem_t) except -1
++ctypedef herr_t (*file_read_func_ptr)(H5FD_t *, H5FD_mem_t, hid_t, haddr_t, size_t, void*) except -1
++ctypedef herr_t (*file_write_func_ptr)(H5FD_t *, H5FD_mem_t, hid_t, haddr_t, size_t, const void*) except -1
++ctypedef herr_t (*file_truncate_func_ptr)(H5FD_t *, hid_t, hbool_t) except -1
++ctypedef herr_t (*file_flush_func_ptr)(H5FD_t *, hid_t, hbool_t) except -1
++
++
+ info.name = 'fileobj'
+ info.maxaddr = libc.stdint.SIZE_MAX - 1
+ info.fc_degree = H5F_CLOSE_WEAK
+ info.fapl_size = sizeof(PyObject *)
+ info.fapl_get = <void *(*)(H5FD_t *)>H5FD_fileobj_fapl_get
+ info.fapl_copy = <void *(*)(const void *)>H5FD_fileobj_fapl_copy
+-info.fapl_free = <herr_t (*)(void *)>H5FD_fileobj_fapl_free
++
++info.fapl_free = <file_free_func_ptr>H5FD_fileobj_fapl_free
++
+ info.open = <H5FD_t *(*)(const char *name, unsigned flags, hid_t fapl, haddr_t maxaddr)>H5FD_fileobj_open
+-info.close = <herr_t (*)(H5FD_t *)>H5FD_fileobj_close
+-info.get_eoa = <haddr_t (*)(const H5FD_t *, H5FD_mem_t)>H5FD_fileobj_get_eoa
+-info.set_eoa = <herr_t (*)(H5FD_t *, H5FD_mem_t, haddr_t)>H5FD_fileobj_set_eoa
+-info.get_eof = <haddr_t (*)(const H5FD_t *, H5FD_mem_t)>H5FD_fileobj_get_eof
+-info.read = <herr_t (*)(H5FD_t *, H5FD_mem_t, hid_t, haddr_t, size_t, void *)>H5FD_fileobj_read
+-info.write = <herr_t (*)(H5FD_t *, H5FD_mem_t, hid_t, haddr_t, size_t, const void *)>H5FD_fileobj_write
+-info.truncate = <herr_t (*)(H5FD_t *, hid_t, hbool_t)>H5FD_fileobj_truncate
+-info.flush = <herr_t (*)(H5FD_t *, hid_t, hbool_t)>H5FD_fileobj_flush
++
++info.close = <file_close_func_ptr>H5FD_fileobj_close
++info.get_eoa = <file_get_eoa_func_ptr>H5FD_fileobj_get_eoa
++info.set_eoa = <file_set_eof_func_ptr>H5FD_fileobj_set_eoa
++info.get_eof = <file_get_eof_func_ptr>H5FD_fileobj_get_eof
++info.read = <file_read_func_ptr>H5FD_fileobj_read
++info.write = <file_write_func_ptr>H5FD_fileobj_write
++info.truncate = <file_truncate_func_ptr>H5FD_fileobj_truncate
++info.flush = <file_flush_func_ptr>H5FD_fileobj_flush
+ # H5FD_FLMAP_DICHOTOMY
+ info.fl_map = [H5FD_MEM_SUPER, # default
+ H5FD_MEM_SUPER, # super
+diff --git a/h5py/h5p.pyx b/h5py/h5p.pyx
+index 779ea1b5..dc8bf65a 100644
+--- a/h5py/h5p.pyx
++++ b/h5py/h5p.pyx
+@@ -1177,7 +1177,7 @@ cdef class PropFAID(PropInstanceID):
+ size_t block_size IN: File system block size
+ size_t cbuf_size IN: Copy buffer size
+
+- Properites with value of 0 indicate that the HDF5 library should
++ Properties with value of 0 indicate that the HDF5 library should
+ choose the value.
+ """
+ H5Pset_fapl_direct(self.id, alignment, block_size, cbuf_size)
+@@ -1761,7 +1761,7 @@ cdef class PropOCID(PropCreateID):
+
+ max_compact -- maximum number of attributes to be stored in compact storage(default:8)
+ must be greater than or equal to min_dense
+- min_dense -- minmum number of attributes to be stored in dense storage(default:6)
++ min_dense -- minimum number of attributes to be stored in dense storage(default:6)
+
+ """
+ H5Pset_attr_phase_change(self.id, max_compact, min_dense)
+diff --git a/h5py/h5t.pyx b/h5py/h5t.pyx
+index e7aae14f..b9d7e74d 100644
+--- a/h5py/h5t.pyx
++++ b/h5py/h5t.pyx
+@@ -1938,7 +1938,7 @@ def check_dtype(**kwds):
+
+ vlen = dtype
+ If the dtype represents an HDF5 vlen, returns the Python base class.
+- Currently only builting string vlens (str) are supported. Returns
++ Currently only built-in string vlens (str) are supported. Returns
+ None if the dtype does not represent an HDF5 vlen.
+
+ enum = dtype
+diff --git a/h5py/tests/test_attrs_data.py b/h5py/tests/test_attrs_data.py
+index 56481ca0..5083a1aa 100644
+--- a/h5py/tests/test_attrs_data.py
++++ b/h5py/tests/test_attrs_data.py
+@@ -262,7 +262,7 @@ class TestEmpty(BaseAttrs):
+ self.assertTrue(is_empty_dataspace(h5a.open(self.f.id, b'y')))
+
+ def test_modify(self):
+- with self.assertRaises(IOError):
++ with self.assertRaises(OSError):
+ self.f.attrs.modify('x', 1)
+
+ def test_values(self):
+diff --git a/h5py/tests/test_big_endian_file.py b/h5py/tests/test_big_endian_file.py
+index 4d81de01..170b5bcc 100644
+--- a/h5py/tests/test_big_endian_file.py
++++ b/h5py/tests/test_big_endian_file.py
+@@ -24,14 +24,14 @@ def test_vlen_big_endian():
+ assert dset[4] == 1.2
+ assert dset.dtype == "<f8"
+
+- # Same float values with big endianess
++ # Same float values with big endianness
+ assert f["DSBEfloat"][0] == 3.14
+ assert f["DSBEfloat"].dtype == ">f8"
+
+ assert f["DSLEint"][0] == 1
+ assert f["DSLEint"].dtype == "<u8"
+
+- # Same int values with big endianess
++ # Same int values with big endianness
+ assert f["DSBEint"][0] == 1
+ assert f["DSBEint"].dtype == ">i8"
+
+diff --git a/h5py/tests/test_dataset.py b/h5py/tests/test_dataset.py
+index e104dd53..0ffa5c80 100644
+--- a/h5py/tests/test_dataset.py
++++ b/h5py/tests/test_dataset.py
+@@ -1939,9 +1939,9 @@ class TestCommutative(BaseDataset):
+ dset = self.f.create_dataset("test", shape, dtype=float,
+ data=np.random.rand(*shape))
+
+- # grab a value from the elements, ie dset[0]
++ # grab a value from the elements, ie dset[0, 0]
+ # check that mask arrays are commutative wrt ==, !=
+- val = np.float64(dset[0])
++ val = np.float64(dset[0, 0])
+
+ assert np.all((val == dset) == (dset == val))
+ assert np.all((val != dset) == (dset != val))
+diff --git a/h5py/tests/test_file.py b/h5py/tests/test_file.py
+index b47d408e..1aa38731 100644
+--- a/h5py/tests/test_file.py
++++ b/h5py/tests/test_file.py
+@@ -326,7 +326,7 @@ class TestDrivers(TestCase):
+ # could be an integer multiple of 512
+ #
+ # To allow HDF5 to do the heavy lifting for different platform,
+- # We didn't provide any argumnets to the first call
++ # We didn't provide any arguments to the first call
+ # and obtained HDF5's default values there.
+
+ # Testing creation with a few different property lists
+@@ -639,9 +639,9 @@ class TestUnicode(TestCase):
+ Modes 'r' and 'r+' do not create files even when given unicode names
+ """
+ fname = self.mktemp(prefix=chr(0x201a))
+- with self.assertRaises(IOError):
++ with self.assertRaises(OSError):
+ File(fname, 'r')
+- with self.assertRaises(IOError):
++ with self.assertRaises(OSError):
+ File(fname, 'r+')
+
+
+diff --git a/h5py/tests/test_file_alignment.py b/h5py/tests/test_file_alignment.py
+index c280bb76..da13ee04 100644
+--- a/h5py/tests/test_file_alignment.py
++++ b/h5py/tests/test_file_alignment.py
+@@ -50,7 +50,7 @@ class TestFileAlignment(TestCase):
+ alignment_interval = 4096
+
+ for shape in [
+- (1033,), # A prime number above the thresold
++ (1033,), # A prime number above the threshold
+ (1000,), # Exactly equal to the threshold
+ (1001,), # one above the threshold
+ ]:
+@@ -75,7 +75,7 @@ class TestFileAlignment(TestCase):
+ alignment_interval = 1024
+
+ for shape in [
+- (881,), # A prime number below the thresold
++ (881,), # A prime number below the threshold
+ (999,), # Exactly one below the threshold
+ ]:
+ fname = self.mktemp()
+diff --git a/h5py/tests/test_group.py b/h5py/tests/test_group.py
+index 328c352a..4af1fb1f 100644
+--- a/h5py/tests/test_group.py
++++ b/h5py/tests/test_group.py
+@@ -771,7 +771,7 @@ class TestExternalLinks(TestCase):
+ with self.assertRaises(KeyError):
+ self.f['ext']
+
+- # I would prefer IOError but there's no way to fix this as the exception
++ # I would prefer OSError but there's no way to fix this as the exception
+ # class is determined by HDF5.
+ def test_exc_missingfile(self):
+ """ KeyError raised when attempting to open missing file """
+@@ -844,7 +844,7 @@ class TestExtLinkBugs(TestCase):
+ try:
+ if x:
+ x.close()
+- except IOError:
++ except OSError:
+ pass
+ return w
+ orig_name = self.mktemp()
+diff --git a/h5py/tests/test_selections.py b/h5py/tests/test_selections.py
+index 0b1722d7..01f6dcb7 100644
+--- a/h5py/tests/test_selections.py
++++ b/h5py/tests/test_selections.py
+@@ -65,7 +65,7 @@ class TestTypeGeneration(BaseSelection):
+ self.assertEqual(out, np.dtype('i'))
+ self.assertEqual(format, np.dtype( [('a','i')] ))
+
+- # Field does not apear in named typed
++ # Field does not appear in named typed
+ with self.assertRaises(ValueError):
+ out, format = sel2.read_dtypes(dt, ('j', 'k'))
+
+diff --git a/pylintrc b/pylintrc
+index 045df2f7..2401d3b0 100644
+--- a/pylintrc
++++ b/pylintrc
+@@ -44,7 +44,7 @@ confidence=
+ # can either give multiple identifiers separated by comma (,) or put this
+ # option multiple times (only on the command line, not in the configuration
+ # file where it should appear only once).You can also use "--disable=all" to
+-# disable everything first and then reenable specific checks. For example, if
++# disable everything first and then re-enable specific checks. For example, if
+ # you want to run only the similarities checker, you can use "--disable=all
+ # --enable=similarities". If you want to run only the classes checker, but have
+ # no Warning level messages displayed, use"--disable=all --enable=classes
+diff --git a/pyproject.toml b/pyproject.toml
+index ee573d2f..717200ef 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,6 +1,6 @@
+ [build-system]
+ requires = [
+- "Cython >=0.29.31,<1",
++ "Cython >=0.29.31,<4",
+ "oldest-supported-numpy",
+ "pkgconfig",
+ "setuptools >=61",
+diff --git a/setup_configure.py b/setup_configure.py
+index 0fba53ba..c3b86a64 100644
+--- a/setup_configure.py
++++ b/setup_configure.py
+@@ -165,7 +165,7 @@ class BuildConfig:
+ try:
+ if pkgconfig.exists(pc_name):
+ pc = pkgconfig.parse(pc_name)
+- except EnvironmentError:
++ except OSError:
+ if os.name != 'nt':
+ print(
+ "Building h5py requires pkg-config unless the HDF5 path "
+diff --git a/tox.ini b/tox.ini
+index 0efb88a6..86a176dd 100644
+--- a/tox.ini
++++ b/tox.ini
+@@ -65,7 +65,7 @@ skip_install=True
+ package_env = DUMMY NON-EXISTENT ENV NAME
+ changedir=docs
+ deps=
+- sphinx
++ -r docs/requirements-rtd.txt
+ commands=
+ sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
+
diff --git a/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb b/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb
index e77210685..8a9158525 100644
--- a/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb
+++ b/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb
@@ -6,7 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=113251d71fb0384712c719b567261c5c"
SRC_URI[sha256sum] = "d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049"
-SRC_URI += "file://0001-setup_build.py-avoid-absolute-path.patch"
+SRC_URI += "file://0001-setup_build.py-avoid-absolute-path.patch \
+ file://0001-Fix-Cython-3-compatibility.patch"
inherit pkgconfig pypi setuptools3
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/2] python3-kivy: update 2.2.1 -> 2.3.0
2024-01-05 13:36 [PATCH 1/2] python3-h5py: backport a cython 3.x compatibility patch Alexander Kanavin
@ 2024-01-05 13:36 ` Alexander Kanavin
2024-01-09 3:32 ` [oe] " Khem Raj
0 siblings, 1 reply; 8+ messages in thread
From: Alexander Kanavin @ 2024-01-05 13:36 UTC (permalink / raw)
To: openembedded-devel; +Cc: Alexander Kanavin
License-Update: years, mention that it is MIT at the start.
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
.../python/{python3-kivy_2.2.1.bb => python3-kivy_2.3.0.bb} | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
rename meta-python/recipes-devtools/python/{python3-kivy_2.2.1.bb => python3-kivy_2.3.0.bb} (93%)
diff --git a/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb b/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
similarity index 93%
rename from meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb
rename to meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
index a72ee14f6..0d4a1207f 100644
--- a/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb
+++ b/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
@@ -2,7 +2,7 @@ SUMMARY = "Open source Python library for rapid development of applications \
that make use of innovative user interfaces, such as multi-touch apps."
HOMEPAGE = "https://kivy.org/"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ed5cd0f2cfda42852c332e3b88c85fea"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6d3bc49400e35d5a2279d14c40dcfb09"
inherit setuptools3 pkgconfig features_check
PIP_INSTALL_PACKAGE = "Kivy"
@@ -11,11 +11,11 @@ PIP_INSTALL_PACKAGE = "Kivy"
# and mali-based OS's. We need to patch the setup file to tell Kivy setup
# that our machine has GLES libaries installed as well
# Also, if using SDL2 as backend, SDL2 needs to be configured with gles
-SRC_URI = "git://github.com/kivy/kivy.git;protocol=https;branch=stable \
+SRC_URI = "git://github.com/kivy/kivy.git;protocol=https;branch=master \
file://0001-add-support-for-glesv2.patch \
"
-SRCREV = "344768bfefd2e8f5302cc9dfb8ca41991ce6f7e7"
+SRCREV = "9ef218027178115a66b417ae34b21f488bdd3617"
S = "${WORKDIR}/git"
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [oe] [PATCH 2/2] python3-kivy: update 2.2.1 -> 2.3.0
2024-01-05 13:36 ` [PATCH 2/2] python3-kivy: update 2.2.1 -> 2.3.0 Alexander Kanavin
@ 2024-01-09 3:32 ` Khem Raj
2024-01-09 9:08 ` Alexander Kanavin
0 siblings, 1 reply; 8+ messages in thread
From: Khem Raj @ 2024-01-09 3:32 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-devel, Alexander Kanavin
this fails to build here ( maybe its clang finding additional problems )
https://sprunge.us/lq5PKS
On Fri, Jan 5, 2024 at 5:36 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> License-Update: years, mention that it is MIT at the start.
>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
> .../python/{python3-kivy_2.2.1.bb => python3-kivy_2.3.0.bb} | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
> rename meta-python/recipes-devtools/python/{python3-kivy_2.2.1.bb => python3-kivy_2.3.0.bb} (93%)
>
> diff --git a/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb b/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
> similarity index 93%
> rename from meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb
> rename to meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
> index a72ee14f6..0d4a1207f 100644
> --- a/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb
> +++ b/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
> @@ -2,7 +2,7 @@ SUMMARY = "Open source Python library for rapid development of applications \
> that make use of innovative user interfaces, such as multi-touch apps."
> HOMEPAGE = "https://kivy.org/"
> LICENSE = "MIT"
> -LIC_FILES_CHKSUM = "file://LICENSE;md5=ed5cd0f2cfda42852c332e3b88c85fea"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=6d3bc49400e35d5a2279d14c40dcfb09"
>
> inherit setuptools3 pkgconfig features_check
> PIP_INSTALL_PACKAGE = "Kivy"
> @@ -11,11 +11,11 @@ PIP_INSTALL_PACKAGE = "Kivy"
> # and mali-based OS's. We need to patch the setup file to tell Kivy setup
> # that our machine has GLES libaries installed as well
> # Also, if using SDL2 as backend, SDL2 needs to be configured with gles
> -SRC_URI = "git://github.com/kivy/kivy.git;protocol=https;branch=stable \
> +SRC_URI = "git://github.com/kivy/kivy.git;protocol=https;branch=master \
> file://0001-add-support-for-glesv2.patch \
> "
>
> -SRCREV = "344768bfefd2e8f5302cc9dfb8ca41991ce6f7e7"
> +SRCREV = "9ef218027178115a66b417ae34b21f488bdd3617"
>
> S = "${WORKDIR}/git"
>
> --
> 2.39.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#108048): https://lists.openembedded.org/g/openembedded-devel/message/108048
> Mute This Topic: https://lists.openembedded.org/mt/103542151/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [oe] [PATCH 2/2] python3-kivy: update 2.2.1 -> 2.3.0
2024-01-09 3:32 ` [oe] " Khem Raj
@ 2024-01-09 9:08 ` Alexander Kanavin
2024-01-09 14:56 ` Khem Raj
0 siblings, 1 reply; 8+ messages in thread
From: Alexander Kanavin @ 2024-01-09 9:08 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-devel
I think it's clang, so needs to be added to conf/nonclangable.conf?
/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/python3-kivy/2.3.0/git/kivy/graphics/cgl_backend/cgl_gl.c:4549:52:
error: incompatible function pointer types assigning to 'void
(*)(GLuint, GLsizei, const GLchar **, const GLint *)' (aka 'void
(*)(unsigned int, int, const char **, const int *)') from 'void
(GLuint, GLsizei, const GLchar *const *, const GLint *)' (aka 'void
(unsigned int, int, const char *const *, const int *)')
[-Wincompatible-function-pointer-types]
4549 | __pyx_v_4kivy_8graphics_3cgl_cgl->glShaderSource = glShaderSource;
| ^ ~~~~~~~~~~~~~~
Note that this update is needed for both cython 3.x and python 3.12
compatibility.
Alex
On Tue, 9 Jan 2024 at 04:32, Khem Raj <raj.khem@gmail.com> wrote:
>
> this fails to build here ( maybe its clang finding additional problems )
>
> https://sprunge.us/lq5PKS
>
> On Fri, Jan 5, 2024 at 5:36 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> >
> > License-Update: years, mention that it is MIT at the start.
> >
> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > ---
> > .../python/{python3-kivy_2.2.1.bb => python3-kivy_2.3.0.bb} | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> > rename meta-python/recipes-devtools/python/{python3-kivy_2.2.1.bb => python3-kivy_2.3.0.bb} (93%)
> >
> > diff --git a/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb b/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
> > similarity index 93%
> > rename from meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb
> > rename to meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
> > index a72ee14f6..0d4a1207f 100644
> > --- a/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb
> > +++ b/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
> > @@ -2,7 +2,7 @@ SUMMARY = "Open source Python library for rapid development of applications \
> > that make use of innovative user interfaces, such as multi-touch apps."
> > HOMEPAGE = "https://kivy.org/"
> > LICENSE = "MIT"
> > -LIC_FILES_CHKSUM = "file://LICENSE;md5=ed5cd0f2cfda42852c332e3b88c85fea"
> > +LIC_FILES_CHKSUM = "file://LICENSE;md5=6d3bc49400e35d5a2279d14c40dcfb09"
> >
> > inherit setuptools3 pkgconfig features_check
> > PIP_INSTALL_PACKAGE = "Kivy"
> > @@ -11,11 +11,11 @@ PIP_INSTALL_PACKAGE = "Kivy"
> > # and mali-based OS's. We need to patch the setup file to tell Kivy setup
> > # that our machine has GLES libaries installed as well
> > # Also, if using SDL2 as backend, SDL2 needs to be configured with gles
> > -SRC_URI = "git://github.com/kivy/kivy.git;protocol=https;branch=stable \
> > +SRC_URI = "git://github.com/kivy/kivy.git;protocol=https;branch=master \
> > file://0001-add-support-for-glesv2.patch \
> > "
> >
> > -SRCREV = "344768bfefd2e8f5302cc9dfb8ca41991ce6f7e7"
> > +SRCREV = "9ef218027178115a66b417ae34b21f488bdd3617"
> >
> > S = "${WORKDIR}/git"
> >
> > --
> > 2.39.2
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#108048): https://lists.openembedded.org/g/openembedded-devel/message/108048
> > Mute This Topic: https://lists.openembedded.org/mt/103542151/1997914
> > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [oe] [PATCH 2/2] python3-kivy: update 2.2.1 -> 2.3.0
2024-01-09 9:08 ` Alexander Kanavin
@ 2024-01-09 14:56 ` Khem Raj
2024-01-09 15:02 ` Khem Raj
2024-01-09 15:53 ` Alexander Kanavin
0 siblings, 2 replies; 8+ messages in thread
From: Khem Raj @ 2024-01-09 14:56 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-devel
On Tue, Jan 9, 2024 at 1:08 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> I think it's clang, so needs to be added to conf/nonclangable.conf?
yes, Although it will be good to report this error upstream, since
mixing const/non-const types can have
unintended consequences and result in subtle bugs.
>
> /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/python3-kivy/2.3.0/git/kivy/graphics/cgl_backend/cgl_gl.c:4549:52:
> error: incompatible function pointer types assigning to 'void
> (*)(GLuint, GLsizei, const GLchar **, const GLint *)' (aka 'void
> (*)(unsigned int, int, const char **, const int *)') from 'void
> (GLuint, GLsizei, const GLchar *const *, const GLint *)' (aka 'void
> (unsigned int, int, const char *const *, const int *)')
> [-Wincompatible-function-pointer-types]
> 4549 | __pyx_v_4kivy_8graphics_3cgl_cgl->glShaderSource = glShaderSource;
> | ^ ~~~~~~~~~~~~~~
>
> Note that this update is needed for both cython 3.x and python 3.12
> compatibility.
>
> Alex
>
> On Tue, 9 Jan 2024 at 04:32, Khem Raj <raj.khem@gmail.com> wrote:
> >
> > this fails to build here ( maybe its clang finding additional problems )
> >
> > https://sprunge.us/lq5PKS
> >
> > On Fri, Jan 5, 2024 at 5:36 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> > >
> > > License-Update: years, mention that it is MIT at the start.
> > >
> > > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > > ---
> > > .../python/{python3-kivy_2.2.1.bb => python3-kivy_2.3.0.bb} | 6 +++---
> > > 1 file changed, 3 insertions(+), 3 deletions(-)
> > > rename meta-python/recipes-devtools/python/{python3-kivy_2.2.1.bb => python3-kivy_2.3.0.bb} (93%)
> > >
> > > diff --git a/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb b/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
> > > similarity index 93%
> > > rename from meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb
> > > rename to meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
> > > index a72ee14f6..0d4a1207f 100644
> > > --- a/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb
> > > +++ b/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
> > > @@ -2,7 +2,7 @@ SUMMARY = "Open source Python library for rapid development of applications \
> > > that make use of innovative user interfaces, such as multi-touch apps."
> > > HOMEPAGE = "https://kivy.org/"
> > > LICENSE = "MIT"
> > > -LIC_FILES_CHKSUM = "file://LICENSE;md5=ed5cd0f2cfda42852c332e3b88c85fea"
> > > +LIC_FILES_CHKSUM = "file://LICENSE;md5=6d3bc49400e35d5a2279d14c40dcfb09"
> > >
> > > inherit setuptools3 pkgconfig features_check
> > > PIP_INSTALL_PACKAGE = "Kivy"
> > > @@ -11,11 +11,11 @@ PIP_INSTALL_PACKAGE = "Kivy"
> > > # and mali-based OS's. We need to patch the setup file to tell Kivy setup
> > > # that our machine has GLES libaries installed as well
> > > # Also, if using SDL2 as backend, SDL2 needs to be configured with gles
> > > -SRC_URI = "git://github.com/kivy/kivy.git;protocol=https;branch=stable \
> > > +SRC_URI = "git://github.com/kivy/kivy.git;protocol=https;branch=master \
> > > file://0001-add-support-for-glesv2.patch \
> > > "
> > >
> > > -SRCREV = "344768bfefd2e8f5302cc9dfb8ca41991ce6f7e7"
> > > +SRCREV = "9ef218027178115a66b417ae34b21f488bdd3617"
> > >
> > > S = "${WORKDIR}/git"
> > >
> > > --
> > > 2.39.2
> > >
> > >
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > > Links: You receive all messages sent to this group.
> > > View/Reply Online (#108048): https://lists.openembedded.org/g/openembedded-devel/message/108048
> > > Mute This Topic: https://lists.openembedded.org/mt/103542151/1997914
> > > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > >
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [oe] [PATCH 2/2] python3-kivy: update 2.2.1 -> 2.3.0
2024-01-09 14:56 ` Khem Raj
@ 2024-01-09 15:02 ` Khem Raj
2024-01-09 15:50 ` Alexander Kanavin
2024-01-09 15:53 ` Alexander Kanavin
1 sibling, 1 reply; 8+ messages in thread
From: Khem Raj @ 2024-01-09 15:02 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: openembedded-devel
btw, do we need to switch branch stable -> master ?
there is patch from Leon which has descriptive commit message. [1]
[1] https://patchwork.yoctoproject.org/project/oe/patch/20240109135121.3460927-3-leon.anavi@konsulko.com/
On Tue, Jan 9, 2024 at 6:56 AM Khem Raj <raj.khem@gmail.com> wrote:
>
> On Tue, Jan 9, 2024 at 1:08 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> >
> > I think it's clang, so needs to be added to conf/nonclangable.conf?
>
> yes, Although it will be good to report this error upstream, since
> mixing const/non-const types can have
> unintended consequences and result in subtle bugs.
>
> >
> > /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/python3-kivy/2.3.0/git/kivy/graphics/cgl_backend/cgl_gl.c:4549:52:
> > error: incompatible function pointer types assigning to 'void
> > (*)(GLuint, GLsizei, const GLchar **, const GLint *)' (aka 'void
> > (*)(unsigned int, int, const char **, const int *)') from 'void
> > (GLuint, GLsizei, const GLchar *const *, const GLint *)' (aka 'void
> > (unsigned int, int, const char *const *, const int *)')
> > [-Wincompatible-function-pointer-types]
> > 4549 | __pyx_v_4kivy_8graphics_3cgl_cgl->glShaderSource = glShaderSource;
> > | ^ ~~~~~~~~~~~~~~
> >
> > Note that this update is needed for both cython 3.x and python 3.12
> > compatibility.
> >
> > Alex
> >
> > On Tue, 9 Jan 2024 at 04:32, Khem Raj <raj.khem@gmail.com> wrote:
> > >
> > > this fails to build here ( maybe its clang finding additional problems )
> > >
> > > https://sprunge.us/lq5PKS
> > >
> > > On Fri, Jan 5, 2024 at 5:36 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> > > >
> > > > License-Update: years, mention that it is MIT at the start.
> > > >
> > > > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > > > ---
> > > > .../python/{python3-kivy_2.2.1.bb => python3-kivy_2.3.0.bb} | 6 +++---
> > > > 1 file changed, 3 insertions(+), 3 deletions(-)
> > > > rename meta-python/recipes-devtools/python/{python3-kivy_2.2.1.bb => python3-kivy_2.3.0.bb} (93%)
> > > >
> > > > diff --git a/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb b/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
> > > > similarity index 93%
> > > > rename from meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb
> > > > rename to meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
> > > > index a72ee14f6..0d4a1207f 100644
> > > > --- a/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb
> > > > +++ b/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
> > > > @@ -2,7 +2,7 @@ SUMMARY = "Open source Python library for rapid development of applications \
> > > > that make use of innovative user interfaces, such as multi-touch apps."
> > > > HOMEPAGE = "https://kivy.org/"
> > > > LICENSE = "MIT"
> > > > -LIC_FILES_CHKSUM = "file://LICENSE;md5=ed5cd0f2cfda42852c332e3b88c85fea"
> > > > +LIC_FILES_CHKSUM = "file://LICENSE;md5=6d3bc49400e35d5a2279d14c40dcfb09"
> > > >
> > > > inherit setuptools3 pkgconfig features_check
> > > > PIP_INSTALL_PACKAGE = "Kivy"
> > > > @@ -11,11 +11,11 @@ PIP_INSTALL_PACKAGE = "Kivy"
> > > > # and mali-based OS's. We need to patch the setup file to tell Kivy setup
> > > > # that our machine has GLES libaries installed as well
> > > > # Also, if using SDL2 as backend, SDL2 needs to be configured with gles
> > > > -SRC_URI = "git://github.com/kivy/kivy.git;protocol=https;branch=stable \
> > > > +SRC_URI = "git://github.com/kivy/kivy.git;protocol=https;branch=master \
> > > > file://0001-add-support-for-glesv2.patch \
> > > > "
> > > >
> > > > -SRCREV = "344768bfefd2e8f5302cc9dfb8ca41991ce6f7e7"
> > > > +SRCREV = "9ef218027178115a66b417ae34b21f488bdd3617"
> > > >
> > > > S = "${WORKDIR}/git"
> > > >
> > > > --
> > > > 2.39.2
> > > >
> > > >
> > > > -=-=-=-=-=-=-=-=-=-=-=-
> > > > Links: You receive all messages sent to this group.
> > > > View/Reply Online (#108048): https://lists.openembedded.org/g/openembedded-devel/message/108048
> > > > Mute This Topic: https://lists.openembedded.org/mt/103542151/1997914
> > > > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> > > > -=-=-=-=-=-=-=-=-=-=-=-
> > > >
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [oe] [PATCH 2/2] python3-kivy: update 2.2.1 -> 2.3.0
2024-01-09 15:02 ` Khem Raj
@ 2024-01-09 15:50 ` Alexander Kanavin
0 siblings, 0 replies; 8+ messages in thread
From: Alexander Kanavin @ 2024-01-09 15:50 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-devel
On Tue, 9 Jan 2024 at 16:02, Khem Raj <raj.khem@gmail.com> wrote:
>
> btw, do we need to switch branch stable -> master ?
> there is patch from Leon which has descriptive commit message. [1]
>
> [1] https://patchwork.yoctoproject.org/project/oe/patch/20240109135121.3460927-3-leon.anavi@konsulko.com/
When I sent mine, stable wasn't yet updated I think. So can be either way.
Alex
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [oe] [PATCH 2/2] python3-kivy: update 2.2.1 -> 2.3.0
2024-01-09 14:56 ` Khem Raj
2024-01-09 15:02 ` Khem Raj
@ 2024-01-09 15:53 ` Alexander Kanavin
1 sibling, 0 replies; 8+ messages in thread
From: Alexander Kanavin @ 2024-01-09 15:53 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-devel
On Tue, 9 Jan 2024 at 15:57, Khem Raj <raj.khem@gmail.com> wrote:
>
> On Tue, Jan 9, 2024 at 1:08 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
> >
> > I think it's clang, so needs to be added to conf/nonclangable.conf?
>
> yes, Although it will be good to report this error upstream, since
> mixing const/non-const types can have
> unintended consequences and result in subtle bugs.
Reported here:
https://github.com/kivy/kivy/issues/8557
Alex
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-01-09 15:53 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-05 13:36 [PATCH 1/2] python3-h5py: backport a cython 3.x compatibility patch Alexander Kanavin
2024-01-05 13:36 ` [PATCH 2/2] python3-kivy: update 2.2.1 -> 2.3.0 Alexander Kanavin
2024-01-09 3:32 ` [oe] " Khem Raj
2024-01-09 9:08 ` Alexander Kanavin
2024-01-09 14:56 ` Khem Raj
2024-01-09 15:02 ` Khem Raj
2024-01-09 15:50 ` Alexander Kanavin
2024-01-09 15:53 ` Alexander Kanavin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.