summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-python/recipes-devtools
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2024-01-12 18:51:57 +0300
committerPatrick Williams <patrick@stwcx.xyz>2024-01-12 22:30:46 +0300
commit705982a51d24e74df1786f60cc99d1106de626df (patch)
tree4e81a89c017c50483d786294ea823752b5f55017 /meta-openembedded/meta-python/recipes-devtools
parentad3455d69e100ba61b43c715039b793ce936527b (diff)
downloadopenbmc-705982a51d24e74df1786f60cc99d1106de626df.tar.xz
subtree updates
meta-openembedded: 7d8115d550..098dc606f9: Alex Kiernan (2): c-ares: Filter out "Live" tests ptest-packagelists-meta-oe.inc Add c-ares to PTESTS_SLOW_META_OE Alexander Kanavin (25): fontforge: add a readline PACKAGECONFIG volume-key: disable python bindings audit: disable python bindings as incompatible with python 3.12 cmpi-bindings: update 1.0.1 -> 1.0.4 libpwquality: backport a python 3.12 compatibility patch mycroft: do not depend on python3-xmlrunner python3-xmlrunner: remove the recipe system-config-printer: rely on setuptools to obtain distutils copy python3-gmpy2: fix python 3.12 issues python3-custom-inherit: fix python 3.12 builds python3-jsonrpcserver: remove python3-oslash: remove nmap: disable ndiff wireshark: update 4.0.10 -> 4.2.0 openipmi: update 2.0.32 -> 2.0.34 libsigrokdecode: add python 3.12 support cockpit: add setuptools dependency to bring in distutils copy mongodb: skip until python 3.12 fixes are available. mercurial: ensure setuptools is present as distutils is no longer (mercurial tries both) rwmem: fix python modules packaging upm: get disutils copy via setuptools python3-kmod: remove the recipe hplip: provide setuptools for the distutils copy audit: reenable python bindings and bring in distutils via setuptools (needed with python 3.12) python3-h5py: backport a cython 3.x compatibility patch Christophe Vu-Brugier (1): nvme-cli: upgrade 2.6 -> 2.7.1 Enrico Scholz (1): krb5: use PACKAGE_BEFORE_PN Fabio Estevam (2): i2cdev_git: Remove AUTHOR field picocom: Update to 2023-04 Ilya A. Kriveshko (1): srecord: fix install prefix Jordan Crouse (2): collectd: Remove rrdtool from DEPENDS keepalived: Move the sample configuration files to a separate package Jose Quaresma (1): layer.conf: Add libdevmapper-native PREFERRED_RPROVIDER Khem Raj (8): mraa: Update to latest tip of trunk libcppkafka: Update to tip of trunk python3-pydantic-core: Rename the cpython module on musl libtinyxml2: Package needed resources to run ptests python3-pylint: Ignore failing ptests libconfig-general-perl: Enable on musl targets tgt: Fix build with musl kernel-selftest: remove Wno-alloc-size-larger-than from scripts/Makefile.extrawarn Leon Anavi (5): ssd1306_git.bb: Add ssd1306_linux ssd1306: Update and remove patch python3-webargs: Upgrade 8.3.0 -> 8.4.0 python3-wtforms: Upgrade 3.1.1 -> 3.1.2 python3-kivy: Upgrade 2.2.1 -> 2.3.0 Markus Volk (9): luajit: upgrade 2.1beta -> 2.1 gnome-terminal: fix search_provider build libplist: make sure rm doesn't fail on nonexistent file imagemagick: upgrade 7.1.1-8 -> 7.1.1.26 mutter: update 45.1 -> 45.3 gnome-shell: update 45.1 -> 45.3 gnome-control-center: update 45.1 -> 45.2 gnome-software: update 45.1 -> 45.3 gnome-shell-extensions: update 45.1 -> 45.2 Martin Jansa (1): libpwquality: respect PYTHONSITEDIR Michael Haener (1): mdio-tools: upgrade 1.3.0 -> 1.3.1 Mingli Yu (2): usleep: Make the version consistent ipmitool: Make the version consistent Peter Marko (1): protobuf-c: upgrade 1.4.1 -> 1.5.0 Richard Leitner (1): python3-pytest-cov: add missing python3-coverage dependency Robert Yang (1): v4l-utils: Add PACKAGECONFIG for v4l2-tracer to fix determinstic build Wang Mingyu (52): cglm: upgrade 0.9.1 -> 0.9.2 ctags: upgrade 6.0.20231224.0 -> 6.1.20231231.0 exiftool: upgrade 12.71 -> 12.72 feh: upgrade 3.10.1 -> 3.10.2 libssh: upgrade 0.10.5 -> 0.10.6 squid: upgrade 6.5 -> 6.6 imapfilter: upgrade 2.8.1 -> 2.8.2 redis-plus-plus: upgrade 1.3.10 -> 1.3.11 python3-netaddr: upgrade 0.9.0 -> 0.10.0 plocate: upgrade 1.1.19 -> 1.1.20 python3-cantools: upgrade 39.4.1 -> 39.4.2 python3-coverage: upgrade 7.3.4 -> 7.4.0 python3-flask: upgrade 2.3.3 -> 3.0.0 python3-gspread: upgrade 5.12.3 -> 5.12.4 python3-pydot: upgrade 1.4.2 -> 2.0.0 qpdf: upgrade 11.6.4 -> 11.7.0 thingsboard-gateway: upgrade 3.4.3.1 -> 3.4.4 python3-pydantic-core: upgrade 2.14.5 -> 2.14.6 libtinyxml2: upgrade 9.0.0 -> 10.0.0 adw-gtk3: upgrade 5.1 -> 5.2 dialog: upgrade 1.3-20231002 -> 1.3-20240101 ghex: upgrade 45.0 -> 45.1 jwt-cpp: upgrade 0.6.0 -> 0.7.0 libcloudproviders: upgrade 0.3.4 -> 0.3.5 libgedit-gtksourceview: upgrade 299.0.4 -> 299.0.5 libjcat: upgrade 0.1.14 -> 0.2.0 libraw: upgrade 0.21.1 -> 0.21.2 libsass: upgrade 3.6.5 -> 3.6.6 chrony: upgrade 4.4 -> 4.5 tgt: upgrade 1.0.83 -> 1.0.90 lapack: upgrade 3.10.1 -> 3.12.0 libio-pty-perl: upgrade 1.17 -> 1.20 webkitgtk3: upgrade 2.42.3 -> 2.42.4 xmlsec1: upgrade 1.3.2 -> 1.3.3 python3-argh: upgrade 0.30.5 -> 0.31.0 python3-cvxopt: upgrade 1.2.7 -> 1.3.2 python3-sqlalchemy: upgrade 2.0.24 -> 2.0.25 python3-aiohttp-jinja2: upgrade 1.5.1 -> 1.6 python3-bitarray: upgrade 2.9.1 -> 2.9.2 python3-google-api-python-client: upgrade 2.111.0 -> 2.112.0 python3-google-auth: upgrade 2.25.2 -> 2.26.1 python3-lz4: upgrade 4.3.2 -> 4.3.3 python3-pdm: upgrade 2.11.1 -> 2.11.2 python3-pyflakes: upgrade 3.1.0 -> 3.2.0 python3-pymisp: upgrade 2.4.182 -> 2.4.183 python3-pytest-asyncio: upgrade 0.23.2 -> 0.23.3 python3-traitlets: upgrade 5.14.0 -> 5.14.1 traceroute: upgrade 2.1.3 -> 2.1.5 wolfssl: upgrade 5.6.4 -> 5.6.6 xerces-c: upgrade 3.2.4 -> 3.2.5 zenity: upgrade 4.0.0 -> 4.0.1 daq: Fix install conflict when enable multilib. Yi Zhao (6): vsomeip: upgrade 3.3.8 -> 3.4.10 libtdb: upgrade 1.4.8 -> 1.4.9 libtalloc: upgrade 2.4.0 -> 2.4.1 libtevent: upgrade 0.14.1 -> 0.16.0 libldb: upgrade 2.7.2 -> 2.8.0 samba: upgrade 4.18.9 -> 4.19.3 alperak (10): libnvme: upgrade 1.6 -> 1.7.1 libpaper: upgrade 2.1.0 -> 2.1.2 onig: upgrade 6.9.8 -> 6.9.9 clinfo: upgrade 3.0.21.02.21 -> 3.0.23.01.25 opensc: upgrade 0.23.0 -> 0.24.0 pcsc-lite: upgrade 2.0.0 -> 2.0.1 pcsc-tools: upgrade 1.6.2 -> 1.7.1 wavpack: upgrade 5.1.0 -> 5.6.0 nginx: fix CVE-2023-44487 grpc: upgrade 1.59.2 -> 1.60.0 meta-arm: 4d22f982bc..5712422011: Emekcan Aras (1): arm-bsp/linux-yocto: corstone1000: bump to v6.6% Jon Mason (8): arm-bsp/trusted-firmware-m: update libmetal and open-amp to a release arm-bsp/trusted-firmware-m: update libmetal and open-amp to 2023.04.0 arm: modify patches to have email headers and correct date fields arm-bsp/optee-os: remove unused 3.18 files arm/optee-os: use sysroot in CFLAGS arm/optee-os: remove unneeded clang patches arm/scp-firmware: update git repository to new location arm-bsp/u-boot: rebase patches for v2024.01 Ross Burton (1): arm-bsp/linux-yocto: add linux-yocto 6.5 temporarily meta-raspberrypi: 4c033eb074..b859bc3eca: Leon Anavi (1): bcm2835: update 1.71 -> 1.73 poky: 4675bbb757..61182659c2: Adrian Freihofer (1): ref-manual: document cmake-qemu class Alassane Yattara (7): bitbake: toaster/tests: Bug-fix on TestProjectConfigTab::test_image_recipe_show_rows bitbake: toaster/tests: Bug-fix element click intercepted bitbake: toaster/tests: Delay driver first action on create new project page bitbake: toaster/tests: Setup delay after driver action self.get(url) bitbake: toaster/tests: bug-fix "#hint-error-project-name" should be visible bitbake: toaster/tests: Bug-fix "element not interactable" in TestLayerDetailsPage::test_edit_layerdetails bitbake: toaster/tests: Bug-fix ToasterTable show_rows testcases Alexander Kanavin (16): speexdsp: enable native variant devtool/standard: correctly escape \ bitbake: fetch/checkstatus(): do not print the URI twice in FetchError exception bitbake: fetch/wget/checkstatus(): include the URL in debugging output about status check failure bitbake: bitbake/runqueue: rework 'bitbake -S printdiff' logic selftest/sstatetests: fix up printdiff test to match rework of printdiff logic selftest/sstatetest: re-enable gcc printdiff test python3-pyyaml: make compatible with cython 3.x python3-cython: update 0.29.36 -> 3.0.7 taglib: fix upstream version check libpcre2: fix upstream version check icon-naming-utils: take tarball from debian selftest/sstatetests: include fetcher diagnostics into CDN test failure message selftest/SStatePrintdiff: ensure all base signatures are present in sstate in test_image_minimal_vs_base_do_configure shadow: update 4.13 -> 4.14.2 shadow: link executables statically for -native variant Chen Qi (5): gawk: upgrade from 5.2.2 to 5.3.0 systemd-bootchart: upgrade from 234 to 235 dbus-wait: bump srcrev sudo: upgrade from 1.9.15p2 to 1.9.15p5 util-linux/util-linux-libuuid: ugprade from 2.39.2 to 2.39.3 Corentin Guillevic (1): systemd: add udev-bash-completion package Enguerrand de Ribaucourt (1): manuals: document VSCode extension Fabio Estevam (5): libusb1: Do not match on -rc versions usbutils: Update to version 017 u-boot: Upgrade to 2024.01 kmscube: Change header file to <GLES3/gl3.h> kmscube: Add package version Ilya A. Kriveshko (1): dev-manual: update license manifest path Jamin Lin (1): devtool: modify: fix exception Joshua Watt (1): syslinux: Allow mtools to be optional Jörg Sommer (1): documentation: Add UBOOT_BINARY, extend UBOOT_CONFIG Khem Raj (6): connman: Fix build with musl rpm: Fix build with musl gawk: Add coreutils to rdeps for ptests package tcl: Fix prepending to run-ptest script coreutils: Ignore line-bytes.sh and no-allocate tests on musl opkg-utils: Backport fix to drop --numeric-owner parameter Lee Chee Yang (1): migration-guide: add release notes for 4.3.2 Mark Asselstine (2): bitbake: server/process: catch and expand multiprocessing connection exceptions bitbake: ui/knotty: properly handle exceptions when calling runCommand() Maxin B. John (1): ref-manual: classes: remove insserv bbclass Michael Opdenacker (2): contributor-guide: use "apt" instead of "aptitude" ref-manual: update tested and supported distros Mikko Rapeli (1): oeqa systemd.py: settle() using "running" or "degraded" state Ming Liu (1): qemu.bbclass: fix a python TypeError Mingli Yu (2): openssh: Add PACKAGECONFIG option to customize sshd mode gptfdisk: Make the version consistent Richard Purdie (2): bitbake: ast: Fix EXPORT_FUNCTIONS bug bitbake: runqueue: Fix runall all bug Robert Yang (2): bitbake: bitbake: event: Inject empty lines to make code match lineno in filename bitbake: bitbake: tests/event: Add test_lineno_in_eventhandler Rodrigo M. Duarte (1): linux-firmware: Fix the linux-firmware-bcm4373 FILES variable Ross Burton (12): glib-2.0: no need to depend on target gtk-doc autotools: append to EXTRA_AUTORECONF autotools: don't exclude gtkdocize gtk-doc: fix DEPENDS gtk-doc: remove obsolete logic gtk-doc: don't use docdir set in environment in gtkdocize gtk-doc: don't manually call gtkdocize kmod: fix configure with autopoint calling gtkdocize util-linux: enable gtk-doc meson: use pkg-config in the cross files cairo: upgrade to 1.18.0 xmlcatalog: limit to native recipes only Simone Weiß (2): dev-manual: start.rst: update use of Download page glibc: Set status for CVE-2023-5156 & CVE-2023-0687 Tim Orling (2): python3-bcrypt: upgrade 4.1.1 -> 4.1.2 python3-attrs: enable ptest Wang Mingyu (13): ffmpeg: upgrade 6.1 -> 6.1.1 meson: upgrade 1.3.0 -> 1.3.1 ccache: upgrade 4.8.3 -> 4.9 mesa: upgrade 23.3.1 -> 23.3.2 subversion: upgrade 1.14.2 -> 1.14.3 python3-dbusmock: upgrade 0.30.1 -> 0.30.2 python3-hatch-fancy-pypi-readme: upgrade 23.1.0 -> 24.1.0 python3-hypothesis: upgrade 6.92.1 -> 6.92.2 python3-pycryptodome: upgrade 3.19.0 -> 3.19.1 python3-pycryptodomex: upgrade 3.19.0 -> 3.19.1 python3-pytest: upgrade 7.4.3 -> 7.4.4 python3-attrs: upgrade 22.1.0 -> 23.2.0 python3-lxml: upgrade 4.9.4 -> 45.0.0 William Lyu (1): elfutils: Update license information Yang Xu (1): rootfs.py: check depmodwrapper execution result Yi Zhao (2): libcap-ng: upgrade 0.8.3 -> 0.8.4 libcap-ng-python: upgrade 0.8.3 -> 0.8.4 david d zuhn (1): rng-tools: remove obsolete build time dependency on sysfsutils Change-Id: I43eda44bb889eedb45fae65caf2e5ed8d2c9de39 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'meta-openembedded/meta-python/recipes-devtools')
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/files/0001-versioneer.py-do-not-use-SafeConfigParser.patch29
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.6.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.5.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.31.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.30.5.bb)4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.9.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.9.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.4.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.4.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.4.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.4.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-custom-inherit_2.4.1.bb1
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cvxopt_1.3.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-cvxopt_1.2.7.bb)4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-flask_3.0.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.3.3.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-gmpy2/0001-src-fix-python-3.12-builds.patch263
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-gmpy2_2.1.5.bb1
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.112.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.111.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.26.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.25.2.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-Fix-Cython-3-compatibility.patch796
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_5.0.9.bb23
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb)4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-kmod_0.9.1.bb15
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.10.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.9.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-oslash_0.6.3.bb22
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.11.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.11.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.14.6.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.14.5.bb)13
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.2.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.1.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/run-ptest2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.3.bb3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.183.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.182.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.23.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.23.2.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-cov_4.1.0.bb1
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.25.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.24.bb)4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.14.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.14.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-webargs_8.3.0.bb13
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-webargs_8.4.0.bb17
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_3.1.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_3.1.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-xmlrunner_1.7.7.bb11
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.12.4.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.12.3.bb)2
36 files changed, 1150 insertions, 111 deletions
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/files/0001-versioneer.py-do-not-use-SafeConfigParser.patch b/meta-openembedded/meta-python/recipes-devtools/python/files/0001-versioneer.py-do-not-use-SafeConfigParser.patch
new file mode 100644
index 0000000000..34caaca982
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/files/0001-versioneer.py-do-not-use-SafeConfigParser.patch
@@ -0,0 +1,29 @@
+From 0920bd21ceab75bc4b655c571a37835526dd2468 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Wed, 27 Dec 2023 15:12:19 +0100
+Subject: [PATCH] versioneer.py: do not use SafeConfigParser
+
+This has been deprecated for a long time, and finally removed in python 3.12
+
+Upstream-Status: Submitted [https://github.com/rsokl/custom_inherit/pull/49]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ versioneer.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/versioneer.py b/versioneer.py
+index 64fea1c..3aa5da3 100644
+--- a/versioneer.py
++++ b/versioneer.py
+@@ -339,9 +339,9 @@ def get_config_from_root(root):
+ # configparser.NoOptionError (if it lacks "VCS="). See the docstring at
+ # the top of versioneer.py for instructions on writing your setup.cfg .
+ setup_cfg = os.path.join(root, "setup.cfg")
+- parser = configparser.SafeConfigParser()
++ parser = configparser.ConfigParser()
+ with open(setup_cfg, "r") as f:
+- parser.readfp(f)
++ parser.read_file(f)
+ VCS = parser.get("versioneer", "VCS") # mandatory
+
+ def get(parser, name):
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.6.bb
index 4c4ed3ffd9..694f577b06 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.6.bb
@@ -3,7 +3,7 @@ SUMMARY = "jinja2 template renderer for aiohttp.web (http server for asyncio)"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=29dca541e03964615590ca7b50392d97"
-SRC_URI[sha256sum] = "8d149b2a57d91f794b33a394ea5bc66b567f38c74a5a6a9477afc2450f105c01"
+SRC_URI[sha256sum] = "a3a7ff5264e5bca52e8ae547bbfd0761b72495230d438d05b6c0915be619b0e2"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.30.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.31.0.bb
index 78e6149649..24a579fb93 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.30.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.31.0.bb
@@ -12,10 +12,10 @@ tool; Argh just makes it easy to use."
LICENSE = "LGPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=3000208d539ec061b899bce1d9ce9404 \
- file://README.rst;beginline=261;endline=275;md5=39ec83a704aed9f33618c5d04e478a08 \
+ file://README.rst;beginline=261;endline=275;md5=ba124578a6853962d5038eabef535d12 \
"
-SRC_URI[sha256sum] = "b37dfd617a09d19a4a7bcaed0e060b288bc7ac8dfdc0facf886a49a25ff33728"
+SRC_URI[sha256sum] = "b93093544309ddbfe6c73dc9bfd60dbc4acecef39f3f464774b3084a1ec5d7b0"
inherit pypi python_flit_core
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.9.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.9.2.bb
index 0d7107a0f2..7d7be0b1aa 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.9.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.9.2.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/ilanschnell/bitarray"
LICENSE = "PSF-2.0"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d"
-SRC_URI[sha256sum] = "912efbeed6d8b155c8e8c37464f79d75b1de58936c0f29ffb599ce95af5563f2"
+SRC_URI[sha256sum] = "a8f286a51a32323715d77755ed959f94bef13972e9a2fe71b609e40e6d27957e"
inherit setuptools3 pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.4.2.bb
index e26405dd7f..ad2025e644 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_39.4.2.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/eerimoq/cantools"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd"
-SRC_URI[sha256sum] = "98c4d007a6d9803c6433c743c0240e73de930530f8255e1e21d2e20e8991a30b"
+SRC_URI[sha256sum] = "8069a8f473bb1679990bea0903f3a22d58df5495aebbf09f58d49f627511b619"
PYPI_PACKAGE = "cantools"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.4.0.bb
index 42bc9fc8ed..cb1041c2ff 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.4.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://coverage.readthedocs.io"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
-SRC_URI[sha256sum] = "020d56d2da5bc22a0e00a5b0d54597ee91ad72446fa4cf1b97c35022f6b6dbf0"
+SRC_URI[sha256sum] = "707c0f58cb1712b8809ece32b68996ee1e609f71bd14615bd8f87a1293cb610e"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-custom-inherit_2.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-custom-inherit_2.4.1.bb
index 478abbf1fd..e7409f77e6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-custom-inherit_2.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-custom-inherit_2.4.1.bb
@@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=f910a85a4c3da51edf780f17a7608434"
PYPI_PACKAGE = "custom_inherit"
+SRC_URI += "file://0001-versioneer.py-do-not-use-SafeConfigParser.patch"
SRC_URI[sha256sum] = "7052eb337bcce83551815264391cc4efc2bf70b295a3c52aba64f1ab57c3a8a2"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cvxopt_1.2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cvxopt_1.3.2.bb
index 70e9831770..d7d4b22fbd 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cvxopt_1.2.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cvxopt_1.3.2.bb
@@ -1,11 +1,11 @@
SUMMARY = "Convex optimization package"
HOMEPAGE = "http://cvxopt.org"
LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ba1a8a73d8ebea5c47a1173aaf476ddd"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=66ec4f8e53d3e733a8c26d5ca3830fba"
SRC_URI = "git://github.com/cvxopt/cvxopt;protocol=https;branch=master"
-SRCREV = "d5a21cf1da62e4269176384b1ff62edac5579f94"
+SRCREV = "3b718ee560b3b97d6255c55f0ed7f64cb4b72082"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_3.0.0.bb
index 99a61f136d..e0afd3718f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.3.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_3.0.0.bb
@@ -6,7 +6,7 @@ HOMEPAGE = "https://github.com/mitsuhiko/flask/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75"
-SRC_URI[sha256sum] = "09c347a92aa7ff4a8e7f3206795f30d826654baf38b873d0744cd571ca609efc"
+SRC_URI[sha256sum] = "cfadcdb638b609361d29ec22360d6070a77d7463dcb3ab08d2c2f2f168845f58"
UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/Flask"
UPSTREAM_CHECK_REGEX = "/Flask/(?P<pver>(\d+[\.\-_]*)+)"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gmpy2/0001-src-fix-python-3.12-builds.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-gmpy2/0001-src-fix-python-3.12-builds.patch
new file mode 100644
index 0000000000..1171322e26
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gmpy2/0001-src-fix-python-3.12-builds.patch
@@ -0,0 +1,263 @@
+From 43f132103cedfd92b85173bcdacfbabd5916d9fc Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Wed, 27 Dec 2023 14:52:16 +0100
+Subject: [PATCH] src: fix python 3.12 builds
+
+This is a backport for 3.1.x versions provided separately in https://github.com/aleaxit/gmpy/issues/446
+
+Upstream-Status: Inappropriate [can be dropped when 2.2.x is released]
+
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ src/gmpy2_convert.h | 21 +++++++
+ src/gmpy2_convert_gmp.c | 129 +++++++++++++-------------------------
+ src/gmpy2_convert_utils.c | 2 +-
+ 3 files changed, 65 insertions(+), 87 deletions(-)
+
+diff --git a/src/gmpy2_convert.h b/src/gmpy2_convert.h
+index f887d47..3e8cb2b 100644
+--- a/src/gmpy2_convert.h
++++ b/src/gmpy2_convert.h
+@@ -142,6 +142,27 @@ extern "C" {
+ #define IS_TYPE_COMPLEX_ONLY(x) ((x > OBJ_TYPE_REAL) && \
+ (x < OBJ_TYPE_COMPLEX))
+
++/* Compatibility macros (to work with PyLongObject internals).
++ */
++
++#if PY_VERSION_HEX >= 0x030C0000
++# define TAG_FROM_SIGN_AND_SIZE(is_neg, size) ((is_neg?2:(size==0)) | (((size_t)size) << 3))
++# define _PyLong_SetSignAndDigitCount(obj, is_neg, size) (obj->long_value.lv_tag = TAG_FROM_SIGN_AND_SIZE(is_neg, size))
++#elif PY_VERSION_HEX >= 0x030900A4
++# define _PyLong_SetSignAndDigitCount(obj, is_neg, size) (Py_SET_SIZE(obj, (is_neg?-1:1)*size))
++#else
++# define _PyLong_SetSignAndDigitCount(obj, is_neg, size) (Py_SIZE(obj) = (is_neg?-1:1)*size)
++#endif
++
++#if PY_VERSION_HEX >= 0x030C0000
++# define GET_OB_DIGIT(obj) obj->long_value.ob_digit
++# define _PyLong_IsNegative(obj) ((obj->long_value.lv_tag & 3) == 2)
++# define _PyLong_DigitCount(obj) (obj->long_value.lv_tag >> 3)
++#else
++# define GET_OB_DIGIT(obj) obj->ob_digit
++# define _PyLong_IsNegative(obj) (Py_SIZE(obj) < 0)
++# define _PyLong_DigitCount(obj) (_PyLong_IsNegative(obj)? -Py_SIZE(obj):Py_SIZE(obj))
++#endif
+
+ /* Since the macros are used in gmpy2's codebase, these functions are skipped
+ * until they are needed for the C API in the future.
+diff --git a/src/gmpy2_convert_gmp.c b/src/gmpy2_convert_gmp.c
+index cf0891e..8b8df81 100644
+--- a/src/gmpy2_convert_gmp.c
++++ b/src/gmpy2_convert_gmp.c
+@@ -59,33 +59,24 @@ GMPy_MPZ_From_PyIntOrLong(PyObject *obj, CTXT_Object *context)
+ }
+ #endif
+
+- switch (Py_SIZE(templong)) {
+- case -1:
+- mpz_set_si(result->z, -(sdigit)templong->ob_digit[0]);
++ len = _PyLong_DigitCount(templong);
++ negative = _PyLong_IsNegative(templong);
++
++ switch (len) {
++ case 1:
++ mpz_set_si(result->z, (sdigit)GET_OB_DIGIT(templong)[0]);
+ break;
+ case 0:
+ mpz_set_si(result->z, 0);
+ break;
+- case 1:
+- mpz_set_si(result->z, templong->ob_digit[0]);
+- break;
+ default:
+- mpz_set_si(result->z, 0);
+-
+- if (Py_SIZE(templong) < 0) {
+- len = - Py_SIZE(templong);
+- negative = 1;
+- } else {
+- len = Py_SIZE(templong);
+- negative = 0;
+- }
+-
+- mpz_import(result->z, len, -1, sizeof(templong->ob_digit[0]), 0,
+- sizeof(templong->ob_digit[0])*8 - PyLong_SHIFT, templong->ob_digit);
++ mpz_import(result->z, len, -1, sizeof(GET_OB_DIGIT(templong)[0]), 0,
++ sizeof(GET_OB_DIGIT(templong)[0])*8 - PyLong_SHIFT,
++ GET_OB_DIGIT(templong));
++ }
+
+- if (negative) {
+- mpz_neg(result->z, result->z);
+- }
++ if (negative) {
++ mpz_neg(result->z, result->z);
+ }
+ return result;
+ }
+@@ -105,33 +96,24 @@ mpz_set_PyIntOrLong(mpz_t z, PyObject *obj)
+ }
+ #endif
+
+- switch (Py_SIZE(templong)) {
+- case -1:
+- mpz_set_si(z, -(sdigit)templong->ob_digit[0]);
++ len = _PyLong_DigitCount(templong);
++ negative = _PyLong_IsNegative(templong);
++
++ switch (len) {
++ case 1:
++ mpz_set_si(z, (sdigit)GET_OB_DIGIT(templong)[0]);
+ break;
+ case 0:
+ mpz_set_si(z, 0);
+ break;
+- case 1:
+- mpz_set_si(z, templong->ob_digit[0]);
+- break;
+ default:
+- mpz_set_si(z, 0);
+-
+- if (Py_SIZE(templong) < 0) {
+- len = - Py_SIZE(templong);
+- negative = 1;
+- } else {
+- len = Py_SIZE(templong);
+- negative = 0;
+- }
+-
+- mpz_import(z, len, -1, sizeof(templong->ob_digit[0]), 0,
+- sizeof(templong->ob_digit[0])*8 - PyLong_SHIFT, templong->ob_digit);
++ mpz_import(z, len, -1, sizeof(GET_OB_DIGIT(templong)[0]), 0,
++ sizeof(GET_OB_DIGIT(templong)[0])*8 - PyLong_SHIFT,
++ GET_OB_DIGIT(templong));
++ }
+
+- if (negative) {
+- mpz_neg(z, z);
+- }
++ if (negative) {
++ mpz_neg(z, z);
+ }
+ return;
+ }
+@@ -186,12 +168,7 @@ GMPy_PyLong_From_MPZ(MPZ_Object *obj, CTXT_Object *context)
+
+ /* Assume gmp uses limbs as least as large as the builtin longs do */
+
+- if (mpz_sgn(obj->z) < 0) {
+- negative = 1;
+- } else {
+- negative = 0;
+- }
+-
++ negative = mpz_sgn(obj->z) < 0;
+ size = (mpz_sizeinbase(obj->z, 2) + PyLong_SHIFT - 1) / PyLong_SHIFT;
+
+ if (!(result = _PyLong_New(size))) {
+@@ -200,31 +177,20 @@ GMPy_PyLong_From_MPZ(MPZ_Object *obj, CTXT_Object *context)
+ /* LCOV_EXCL_STOP */
+ }
+
+- mpz_export(result->ob_digit, &count, -1, sizeof(result->ob_digit[0]), 0,
+- sizeof(result->ob_digit[0])*8 - PyLong_SHIFT, obj->z);
++ mpz_export(GET_OB_DIGIT(result), &count, -1, sizeof(GET_OB_DIGIT(result)[0]), 0,
++ sizeof(GET_OB_DIGIT(result)[0])*8 - PyLong_SHIFT, obj->z);
+
+ if (count == 0) {
+- result->ob_digit[0] = 0;
++ GET_OB_DIGIT(result)[0] = 0;
+ }
+
+ /* long_normalize() is file-static so we must reimplement it */
+ /* longobjp = long_normalize(longobjp); */
+- while ((size>0) && (result->ob_digit[size-1] == 0)) {
++ while ((size>0) && (GET_OB_DIGIT(result)[size-1] == 0)) {
+ size--;
+ }
+-#if PY_VERSION_HEX >= 0x030900A4
+- Py_SET_SIZE(result, size);
+-#else
+- Py_SIZE(result) = size;
+-#endif
+
+- if (negative) {
+-#if PY_VERSION_HEX >= 0x030900A4
+- Py_SET_SIZE(result, - Py_SIZE(result));
+-#else
+- Py_SIZE(result) = - Py_SIZE(result);
+-#endif
+- }
++ _PyLong_SetSignAndDigitCount(result, negative, size);
+ return (PyObject*)result;
+ }
+
+@@ -476,33 +442,24 @@ GMPy_XMPZ_From_PyIntOrLong(PyObject *obj, CTXT_Object *context)
+ }
+ #endif
+
+- switch (Py_SIZE(templong)) {
+- case -1:
+- mpz_set_si(result->z, -(sdigit)templong->ob_digit[0]);
++ len = _PyLong_DigitCount(templong);
++ negative = _PyLong_IsNegative(templong);
++
++ switch (len) {
++ case 1:
++ mpz_set_si(result->z, (sdigit)GET_OB_DIGIT(templong)[0]);
+ break;
+ case 0:
+ mpz_set_si(result->z, 0);
+ break;
+- case 1:
+- mpz_set_si(result->z, templong->ob_digit[0]);
+- break;
+ default:
+- mpz_set_si(result->z, 0);
+-
+- if (Py_SIZE(templong) < 0) {
+- len = - Py_SIZE(templong);
+- negative = 1;
+- } else {
+- len = Py_SIZE(templong);
+- negative = 0;
+- }
+-
+- mpz_import(result->z, len, -1, sizeof(templong->ob_digit[0]), 0,
+- sizeof(templong->ob_digit[0])*8 - PyLong_SHIFT, templong->ob_digit);
++ mpz_import(result->z, len, -1, sizeof(GET_OB_DIGIT(templong)[0]), 0,
++ sizeof(GET_OB_DIGIT(templong)[0])*8 - PyLong_SHIFT,
++ GET_OB_DIGIT(templong));
++ }
+
+- if (negative) {
+- mpz_neg(result->z, result->z);
+- }
++ if (negative) {
++ mpz_neg(result->z, result->z);
+ }
+ return result;
+ }
+@@ -639,7 +596,7 @@ GMPy_MPQ_From_PyStr(PyObject *s, int base, CTXT_Object *context)
+ }
+
+ cp = PyBytes_AsString(ascii_str);
+-
++
+ {
+ char *whereslash = strchr((char*)cp, '/');
+ char *wheredot = strchr((char*)cp, '.');
+diff --git a/src/gmpy2_convert_utils.c b/src/gmpy2_convert_utils.c
+index d676eaf..8908d17 100644
+--- a/src/gmpy2_convert_utils.c
++++ b/src/gmpy2_convert_utils.c
+@@ -123,7 +123,7 @@ static unsigned long
+ GMPy_Integer_AsUnsignedLongWithType_v2(PyObject *x, int xtype)
+ {
+ if IS_TYPE_PyInteger(xtype) {
+- if (Py_SIZE(x) < 0) {
++ if (_PyLong_IsNegative(((PyLongObject*)x))) {
+ VALUE_ERROR("n must be > 0");
+ return (unsigned long)-1;
+ }
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gmpy2_2.1.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gmpy2_2.1.5.bb
index 9a66af9a98..d9e9bd50e5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gmpy2_2.1.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gmpy2_2.1.5.bb
@@ -10,5 +10,6 @@ PYPI_PACKAGE = "gmpy2"
SRC_URI[sha256sum] = "bc297f1fd8c377ae67a4f493fc0f926e5d1b157e5c342e30a4d84dc7b9f95d96"
inherit pypi setuptools3 python3native
+SRC_URI += "file://0001-src-fix-python-3.12-builds.patch"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.111.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.112.0.bb
index 89613516e6..b1614b854f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.111.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.112.0.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/googleapis/google-api-python-client"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SRC_URI[sha256sum] = "3a45a53c031478d1c82c7162dd25c9a965247bca6bd438af0838a9d9b8219405"
+SRC_URI[sha256sum] = "c3bcb5fd70d57f4c94b30c0dbeade53c216febfbf1d771eeb1a2fa74bd0d6756"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.25.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.26.1.bb
index 2f527611e4..1a4913b718 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.25.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.26.1.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
inherit pypi setuptools3
-SRC_URI[sha256sum] = "42f707937feb4f5e5a39e6c4f343a17300a459aaf03141457ba505812841cc40"
+SRC_URI[sha256sum] = "54385acca5c0fbdda510cd8585ba6f3fcb06eeecf8a6ecca39d3ee148b092590"
RDEPENDS:${PN} += "\
${PYTHON_PN}-asyncio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-Fix-Cython-3-compatibility.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py/0001-Fix-Cython-3-compatibility.patch
new file mode 100644
index 0000000000..aba62ddf14
--- /dev/null
+++ b/meta-openembedded/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-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb
index e772106857..8a9158525e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.10.0.bb
+++ b/meta-openembedded/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
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_5.0.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_5.0.9.bb
deleted file mode 100644
index 7e058a757b..0000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonrpcserver_5.0.9.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Library to process JSON-RPC requests"
-HOMEPAGE = "https://github.com/explodinglabs/jsonrpcserver"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=61b63ea9d36f6fb63ddaaaac8265304f"
-
-SRC_URI[sha256sum] = "a71fb2cfa18541c80935f60987f92755d94d74141248c7438847b96eee5c4482"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "\
- python3-apply-defaults \
- python3-asyncio \
- python3-core \
- python3-json \
- python3-jsonschema \
- python3-logging \
- python3-netclient \
- python3-pkgutil \
- python3-oslash \
- python3-typing-extensions \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.3.0.bb
index a72ee14f6c..9e791c6e78 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.2.1.bb
+++ b/meta-openembedded/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"
@@ -15,7 +15,7 @@ SRC_URI = "git://github.com/kivy/kivy.git;protocol=https;branch=stable \
file://0001-add-support-for-glesv2.patch \
"
-SRCREV = "344768bfefd2e8f5302cc9dfb8ca41991ce6f7e7"
+SRCREV = "9ef218027178115a66b417ae34b21f488bdd3617"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kmod_0.9.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kmod_0.9.1.bb
deleted file mode 100644
index 52e1cf6af7..0000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-kmod_0.9.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Python bindings for kmod/libkmod."
-HOMEPAGE = "https://github.com/agrover/python-kmod"
-SECTION = "devel/python"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6d62c2454850386a2ffe44f72db83d74"
-
-inherit pypi setuptools3
-
-RECIPE_NO_UPDATE_REASON = "Version 0.9.2 is broken when using latest build machinery for C extensions"
-SRC_URI[sha256sum] = "f3bf829059bf88eca22f4f549e17aa316cdaa14302bf2ba49ddeee60cea109ff"
-
-DEPENDS += " \
- kmod \
- python3-cython-native \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.3.bb
index f0c8684b0d..746926da4e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.3.bb
@@ -11,7 +11,7 @@ DEPENDS += " \
SRC_URI += "file://run-ptest"
-SRC_URI[sha256sum] = "e1431d84a9cfb23e6773e72078ce8e65cad6745816d4cbf9ae67da5ea419acda"
+SRC_URI[sha256sum] = "01fe674ef2889dbb9899d8a67361e0c4a2c833af5aeb37dd505727cf5d2a131e"
inherit pkgconfig pypi python_setuptools_build_meta ptest
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.10.0.bb
index 471d939a82..15350e9426 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.9.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_0.10.0.bb
@@ -2,7 +2,7 @@ SUMMARY = "A network address manipulation library for Python."
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e6345d695ffe3776f68a56fe7962db44"
-SRC_URI[sha256sum] = "7b46fa9b1a2d71fd5de9e4a3784ef339700a53a08c8040f08baf5f1194da0128"
+SRC_URI[sha256sum] = "4c30c54adf4ea4318b3c055ea3d8c7f6554a50aa2cd8aea4605a23caa0b0229e"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-oslash_0.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-oslash_0.6.3.bb
deleted file mode 100644
index b926484db0..0000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-oslash_0.6.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Functors, Applicatives, And Monads in Python"
-HOMEPAGE = "https://github.com/dbrattli/oslash"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://README.md;md5=ed79d2637878dfe97de89e357b5c02dd"
-
-DEPENDS += "\
- ${PYTHON_PN}-pip-native \
- ${PYTHON_PN}-pytest-runner-native\
-"
-
-SRC_URI[sha256sum] = "868aeb58a656f2ed3b73d9dd6abe387b20b74fc9413d3e8653b615b15bf728f3"
-
-PYPI_PACKAGE = "OSlash"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
- python3-json \
- python3-typing-extensions \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.11.2.bb
index 5ff6ffc9e3..f8a593c2b8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.11.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pdm_2.11.2.bb
@@ -4,7 +4,7 @@ LICENSE = "MIT"
SECTION = "devel/python"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2eb31a2cc1a758c34b499f287dd04ef2"
-SRC_URI[sha256sum] = "b10bc4e5394856f1639ddc9bc754d9c26323ec5b828a135c6ed35f935b054b83"
+SRC_URI[sha256sum] = "5b31255c48d4aca596c73fb872a82848cbe8ff92f008712a9a264455247063ee"
inherit pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.14.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.14.6.bb
index 01f180c8cb..e58ee7fd66 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.14.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.14.6.bb
@@ -8,7 +8,7 @@ HOMEPAGE = "https://github.com/pydantic/pydantic-core"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ab599c188b4a314d2856b3a55030c75c"
-SRC_URI[sha256sum] = "6d30226dfc816dd0fdf120cae611dd2215117e4f9b124af8c60ab9093b6e8e71"
+SRC_URI[sha256sum] = "1fd0c1d395372843fba13a51c28e3bb9d59bd7aebfeb17358ffaaa1e4dbbe948"
DEPENDS = "python3-maturin-native python3-typing-extensions"
@@ -34,6 +34,17 @@ RDEPENDS:${PN}-ptest += "\
python3-unittest-automake-output \
"
+do_install:append() {
+ for f in ${D}/${libdir}/${PYTHON_DIR}/site-packages/pydantic_core/_pydantic_core.*.so
+ do
+ fname=`basename $f`
+ lname=`echo $fname | sed 's/musl/gnu/'`
+ if [ "$fname" != "$lname" ]; then
+ mv $f ${D}/${libdir}/${PYTHON_DIR}/site-packages/pydantic_core/$lname
+ fi
+ done
+}
+
do_install_ptest() {
cp -rf ${S}/tests/ ${D}${PTEST_PATH}/
rm -rf ${D}${PTEST_PATH}/tests/benchmarks
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.2.0.bb
index 11f11b776d..b7ee20ebe4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.2.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/PyCQA/pyflakes"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=690c2d09203dc9e07c4083fc45ea981f"
-SRC_URI[sha256sum] = "a0aae034c444db0071aa077972ba4768d40c830d9539fd45bf4cd3f8f6992efc"
+SRC_URI[sha256sum] = "1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/run-ptest
index 7a5ceedf95..2a4e87e03a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/run-ptest
@@ -1,3 +1,3 @@
#!/bin/sh
-pytest --benchmark-disable -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+pytest --benchmark-disable -vv --minimal-messages-config tests/test_functional.py | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.3.bb
index 09ab1f26ff..cc33edd829 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.3.bb
@@ -46,6 +46,9 @@ do_install_ptest() {
cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
install -Dm 0644 ${S}/tests/.pylint_primer_tests/.gitkeep ${D}${PTEST_PATH}/tests/.pylint_primer_tests/.gitkeep
sed -i 's#/usr/bin/python$#/usr/bin/python3#g' ${D}${PTEST_PATH}/tests/data/ascript
+ # regression_distutil_import_error_73.py fails to run see
+ # https://lists.openembedded.org/g/openembedded-devel/topic/103181847
+ rm ${D}${PTEST_PATH}/tests/functional/r/regression_02/regression_distutil_import_error_73.py
}
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.182.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.183.bb
index 12bf6245e5..dec8186993 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.182.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.183.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/MISP/PyMISP"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
-SRC_URI[sha256sum] = "888e848494e04148c8ff5887f04154a2b40f3065c53d93f9cec65f7ca7171362"
+SRC_URI[sha256sum] = "00abe5592f07bb1cd41ca803f9b0b8b2b70474004a779be53cd215280fd625b3"
inherit python_poetry_core pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.23.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.23.3.bb
index a00778c99f..85f69ac3ab 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.23.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.23.3.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "pytest-asyncio is an Apache2 licensed library, written in Python,
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=136e4f49dbf29942c572a3a8f6e88a77"
-SRC_URI[sha256sum] = "c16052382554c7b22d48782ab3438d5b10f8cf7a4bdcae7f0f67f097d95beecc"
+SRC_URI[sha256sum] = "af313ce900a62fbe2b1aed18e37ad757f1ef9940c6b6a88e2954de38d6b1fb9f"
inherit pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-cov_4.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-cov_4.1.0.bb
index 1ff3e75cbe..3a68011f4a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-cov_4.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-cov_4.1.0.bb
@@ -10,5 +10,6 @@ SRC_URI[sha256sum] = "3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6
inherit pypi setuptools3
DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+RDEPENDS:${PN} += "python3-coverage"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.24.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.25.bb
index 91ab762eb6..35011553c2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.24.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.25.bb
@@ -2,9 +2,9 @@ DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \
application developers the full power and flexibility of SQL"
HOMEPAGE = "http://www.sqlalchemy.org/"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b707d50badb798e1d897f2c8f649382d"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c78b979ae6c20775a28a287d32092cbb"
-SRC_URI[sha256sum] = "6db97656fd3fe3f7e5b077f12fa6adb5feb6e0b567a3e99f47ecf5f7ea0a09e3"
+SRC_URI[sha256sum] = "a2c69a7664fb2d54b8682dd774c3b54f67f84fa123cf84dda2a5f40dcaa04e08"
PYPI_PACKAGE = "SQLAlchemy"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.14.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.14.1.bb
index 19ea0113a5..0089d6c6e1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.14.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.14.1.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://ipython.org"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=13bed0ee6f46a6f6dbf1f9f9572f250a"
-SRC_URI[sha256sum] = "fcdaa8ac49c04dfa0ed3ee3384ef6dfdb5d6f3741502be247279407679296772"
+SRC_URI[sha256sum] = "8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e"
inherit pypi python_hatchling
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-webargs_8.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-webargs_8.3.0.bb
deleted file mode 100644
index d8ce4ab403..0000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-webargs_8.3.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Declarative parsing and validation of HTTP request objects, with built-in support for popular web frameworks."
-HOMEPAGE = "https://github.com/marshmallow-code/webargs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c3ff8567ef1f2a8cf223f30ac5a6f094"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "cab207941b0686c4d086c823632ddcd4343151644341a32fcf50b8eaa71e31c7"
-
-RDEPENDS:${PN} += "\
- python3-marshmallow \
- python3-packaging \
- "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-webargs_8.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-webargs_8.4.0.bb
new file mode 100644
index 0000000000..ea830807c2
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-webargs_8.4.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Declarative parsing and validation of HTTP request objects, with built-in support for popular web frameworks."
+HOMEPAGE = "https://github.com/marshmallow-code/webargs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dfbd4ae0074716275fc229c775723e8f"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "ea99368214a4ce613924be99d71db58c269631e95eff4fa09b7354e52dc006a5"
+
+RDEPENDS:${PN} += "\
+ ${PYTHON_PN}-marshmallow \
+ ${PYTHON_PN}-packaging \
+ ${PYTHON_PN}-core \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-asyncio \
+ ${PYTHON_PN}-logging \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_3.1.2.bb
index b57c311002..1459538ea8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_3.1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wtforms_3.1.2.bb
@@ -5,7 +5,7 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=17ed54aa95f4a6cd0d7a4747d14b64d0"
-SRC_URI[sha256sum] = "5e51df8af9a60f6beead75efa10975e97768825a82146a65c7cbf5b915990620"
+SRC_URI[sha256sum] = "f8d76180d7239c94c6322f7990ae1216dae3659b7aa1cee94b6318bdffb474b9"
UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/WTForms"
UPSTREAM_CHECK_REGEX = "/WTForms/(?P<pver>(\d+[\.\-_]*)+)"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlrunner_1.7.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlrunner_1.7.7.bb
deleted file mode 100644
index 7259c3fad3..0000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlrunner_1.7.7.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "unittest-based test runner with Ant/JUnit like XML reporting"
-HOMEPAGE = "https://github.com/pycontribs/xmlrunner"
-LICENSE = "LGPL-3.0-only"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=fa964f202b6ae067ed5828fe43c77c1a"
-
-SRC_URI[md5sum] = "7b0b152ed2d278516aedbc0cac22dfb3"
-SRC_URI[sha256sum] = "5a6113d049eca7646111ee657266966e5bbfb0b5ceb2e83ee0772e16d7110f39"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "python3-unittest"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.12.3.bb b/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.12.4.bb
index 932cf22b1f..920ff4d69d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.12.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.12.4.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/burnash/gspread"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9488e21983675fa56dc05af558b83e2f"
-SRC_URI[sha256sum] = "298ebab76e6ed6a998eabc81545ec58f5610f44e2ddb4858b539a0634093f8ce"
+SRC_URI[sha256sum] = "3fcef90183f15d3c9233b4caa021a83682f2b2ee678340c42d7ca7d8be98c6d1"
S = "${WORKDIR}/gspread-${PV}"